Singleton Pattern
El patrón singleton garantiza que una clase tenga una sola instancia y ofrece un punto de acceso global, usado para estado compartido o gestión de recursos.
Propósito
Controlar la creación de instancias de recursos globales como configuración, registro y pools de conexiones.
Mecanismo
Constructor privado + instancia estática + método de acceso global. La seguridad ante hilos exige double-checked locking o inicialización estática. Es controvertido: introduce estado global, oculta dependencias y dificulta las pruebas. Se prefiere la inyección de dependencias.
Casos de uso
- Gestión de estado global
- Compartición de recursos
- Diseño de patrones