Gibt es irgendwelche Nachteile des Singleton-Muster? [Duplikat]
-
23-09-2019 - |
Frage
Mögliche Duplikate:
Was ist so schlecht über Singletons
Probleme mit Singleton Pattern
Gibt es irgendwelche Nachteile des Singleton-Muster? Ich habe gehört, das eine Interview-Frage war, und ich komme zu kurz auf, was gemeint war.
imho, es geht um die Nutzung und nichts im Muster selbst ist problematisch
Lösung
Einige halten es für ein anti-Muster , Beurteilen, dass es überstrapaziert, führt unnötige Einschränkungen in Situationen, in denen eine einzige Instanz eines Klasse nicht tatsächlich erforderlich ist, und führt globalen Zustand in ein Anwendung.
persönlich, da ich angefangen habe mit Spring zu Auto-Draht meiner Anwendung ich hatte nie die Notwendigkeit, einen Singleton zu schreiben.
Andere Tipps
Das ist eine sehr allgemeine Frage ist, es hängt wirklich von Ihren Anwendungsfällen. Ich würde zitieren die folgende:
- Sie brauchen immer einen Mutex (oder synchronisierten Block) die anfängliche getInstance () -Aufruf zu schützen, die in manchen Fällen problematisch sein kann.
- Es ist ein Hack, die Tatsache zu verbergen, dass Sie eine globale Variable erstellen, und globale Variablen im Allgemeinen schlecht. Allerdings gibt es viele Fälle, in denen die Einfachheit, die sie bringen spürbar ist, aber achten Sie nicht zu missbrauchen.
- Nicht überprüfbare oder zumindest ist es schwierig,
- Hard abhängige Klassen finden
- Erlaubt keine Subklassifizieren
- ...