Patrón singleton
-
Upload
cristian-palacio -
Category
Technology
-
view
75 -
download
1
Transcript of Patrón singleton
![Page 1: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/1.jpg)
Patrón singleton
![Page 2: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/2.jpg)
La idea del patrón Singleton es proveer un mecanismo para limitar el número de instancias de una clase. Por lo tanto el mismo objeto es siempre compartido por distintas partes del código. Sus usos más comunes son clases que representan objetos unívocos.
![Page 3: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/3.jpg)
Usaremos este patrón cuando:
Debe haber exactamente una instancia de una clase y deba ser accesible a los clientes desde un punto de acceso conocido.
Se requiere de un acceso estandarizado y conocido públicamente.
![Page 4: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/4.jpg)
Diagrama de clase básico
![Page 5: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/5.jpg)
En el diagrama, la clase que es Singleton define una instancia para que los clientes puedan accederla. Esta instancia es accedida mediante un método de clase.
Los clientes (quienes quieren acceder a la clase Singleton) acceden a la única instancia mediante un método llamado getInstance().
![Page 6: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/6.jpg)
Diseño básico
![Page 7: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/7.jpg)
Ejemplo
En el siguiente código en Java mostramos un ejemplo de uso de este patrón de diseño, en el que se intenta obtener cinco veces una instancia de la clase Coche
![Page 8: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/8.jpg)
![Page 9: Patrón singleton](https://reader036.fdocuments.co/reader036/viewer/2022082721/58d0d9941a28ab47238b617b/html5/thumbnails/9.jpg)