Ci sono aspetti negativi al pattern Singleton? [duplicare]
-
23-09-2019 - |
Domanda
possibili duplicati:
Che cosa è così male per Singletons
con Singleton modello
Ci sono aspetti negativi al pattern Singleton? Ho sentito questa era una questione intervista e io vengo fino a corto di quello che doveva.
imho, è circa l'utilizzo e nulla nel modello è di per sé problematico
Soluzione
Alcuni lo considerano un anti-modello , giudicando che è abusato, introduce limitazioni inutili situazioni in cui un solo caso di un classe non è effettivamente necessaria, e introduce stato globale in un applicazione.
Personalmente, da quando ho iniziato ad usare molla per l'auto-wire la mia domanda non ho mai avuto la necessità di scrivere un Singleton.
Altri suggerimenti
Questa è una domanda molto generica, in realtà dipende vostri casi d'uso. Mi piacerebbe citare il seguente:
- Hai sempre bisogno di un mutex (o blocco sincronizzato) per proteggere la chiamata getInstance iniziale (), che può essere problematico in alcuni casi.
- Si tratta di un trucco per nascondere il fatto che si sta creando una variabile globale, e le variabili globali sono in generale male. Tuttavia, ci sono molti casi in cui la semplicità che portano è apprezzabile, ma fare attenzione a non abusare di loro.
- Non verificabile o almeno è difficile
- Difficile da trovare classi di dipendenti
- Non consente la creazione di sottoclassi
- ...