Singleton
creationalGarantiza una sola instancia de una clase
Tipo: patternPrincipios
Una sola instanciaPunto de acceso globalLazy initialization posible
Cuándo Usar
Cuando realmente necesitas una sola instancia (logging, config)
Cuándo Evitar
Casi siempre - preferir DI
Ventajas y Desventajas
Ventajas
- + Control de instancia única
- + Lazy initialization
- + Punto de acceso global
Desventajas
- - Dificulta testing
- - Estado global (anti-pattern)
- - Oculta dependencias