Patrones de Diseño - Patrón Singleton 🎯
El patrón Singleton es un patrón de diseño creacional que asegura que una clase solo tenga una instancia, y que proporciona un punto de acceso global a dicha instancia.
¿Cómo funciona?
El patrón Singleton define una clase con un constructor privado y un método estático para obtener la instancia única. La primera vez que se llama al método getInstance()
, se crea la instancia y se guarda en una variable privada. Las llamadas posteriores al método getInstance()
devolverán la misma instancia.
Beneficios:
- Control sobre la creación de objetos: Se asegura que solo haya una instancia de la clase.
- Acceso global a la instancia: Se puede acceder a la instancia desde cualquier lugar del código.
- Facilidad de uso: El patrón Singleton simplifica el acceso a objetos singulares.
Utilidad:
El patrón Singleton es útil para:
- Implementar objetos singulares como gestores de configuración, caches o pools de conexiones.
- Controlar el acceso a recursos compartidos.
- Garantizar que solo haya una instancia de un objeto en memoria.
Recursos adicionales:
- Wikipedia: Patrón Singleton
- Refactoring Guru: Patrón Singleton
El patrón Singleton puede ser un poco controvertido, ya que puede ser visto como una violación del principio de encapsulación. Sin embargo, el patrón Singleton puede ser útil en algunos casos específicos.