El patrón Singleton es un patrón de diseño que nos permite asegurar que solo existe una instancia de una clase en todo nuestro programa.
Este patrón es muy útil para controlar recursos, acceder a datos globales o implementar comportamientos únicos.
Ventajas
- Nos permite asegurar que solo existe una instancia de un recurso. Por ejemplo una conexión a base de datos
- Nos permite implementar comportamientos que solo deben exsitir una vez en todo nuestro programa
- Nos facilita el acceso a datos globales desde cualquier parte de nuestro programa, por ejemplo la puntuación del juego
Desventajas
- Nos dificulta el acoplamiento entre diferentes partes de un programa
- Nos dificulta las pruebas
Otros patrones
- Factory
- Facade
- Dependency injection
El patrón Singleton es una herramienta muy útil para controlar variables globales o recursos globales que se deben compartir entre diferentes partes de un programa o de un juego.