ANTIPATTERN
Singleton Abusato
Usare Singleton per oggetti che dovrebbero essere isolati, configurabili o testabili separatamente.
Esempi di Codice
PROBLEMA: Singleton Abusato - Config globale mutabile
Config singleton crea dipendenze nascoste e rende il testing impossibile.
JAVASCRIPT
Loading...
SOLUZIONE: Dependency Injection e config immutabile
Passare config come parametro. Testing isolato e dipendenze esplicite.
JAVASCRIPT
Loading...
Esempi di Errori Comuni
Config globale modificabile da qualsiasi modulo
Service Locator pattern (dipendenze nascoste)
Cache singleton senza possibilità di isolamento nei test
Feature flags globali invece di parametri espliciti
Perché Evitarlo
Per config, preferenze utente, feature flags
Come Correggerlo
Usa Dependency Injection per config
Passa parametri esplicitamente
Config immutabili (Object.freeze)
Singleton OK solo per: logger, connection pool, thread pool
Pattern Correlati