Sind Singletons wirklich so schlimm? [Duplikat]

Mögliche Duplikate:
Was ist so schlimm an Singletons?

Es ist verständlich, dass viele Designmuster in einigen Fällen missbraucht werden können und wie Mama immer sagte: "Zu viel Gutes ist nicht immer gut!"

Ich merke, dass ich heutzutage viel Singletons benutze, und ich mache mir Sorgen, dass ich das Designmuster selbst missbrauchen und immer tiefer in die Gewohnheit der schlechten Praxis eintauchen könnte.

Wir entwickeln eine Flex-Anwendung, in der eine recht große hierarchische Datenstruktur gespeichert ist, während der Benutzer daran arbeitet. Der Benutzer kann die Daten bei Bedarf laden, speichern, ändern und aktualisieren.

Diese Daten werden mithilfe einer Singleton-Klasse zentralisiert, die mehrere ArrayCollections, Arrays, Wertobjekte und einige andere native Membervariablen zusammenfasst, die über Getter und Setter verfügbar gemacht werden.

Um von überall in der Anwendung auf unsere Daten zu verweisen, verwenden wir die gesamte Model.getInstance () -Methode, mit der sicher jeder vertraut ist. Dies stellt sicher, dass wir immer die gleiche Kopie von Daten in den Händen haben, da wir bei der Entwicklung angegeben haben, dass während der Anwendungslebensdauer nur eine Instanz existieren darf.

Über dieses zentrale Datenrepository können wir dann beispielsweise leicht Ereignisse mit geänderten Eigenschaften auslösen und über mehrere UI-Komponenten verfügen, die auf die zentralen Daten verweisen, und deren Anzeigen aktualisieren, um die aufgetretenen Datenänderungen widerzuspiegeln.

Bisher war dieser Ansatz effektiv und hat sich unter unseren Umständen als sehr praktisch erwiesen.

Ich stelle jedoch fest, dass ich beim Erstellen neuer Klassen etwas übereifrig bin. Fragen wie "Sollte eine Klasse ein Singleton sein" oder "Auf andere Weise verwaltet", wie z. B. die Verwendung einer Fabrik, werden manchmal mit ein wenig Unsicherheit etwas schwierig.

Wo ziehe ich die Grenze mit Singletons? Gibt es eine gute Richtlinie für die Entscheidung, wann Sie Singletons verwenden und wann Sie sich von ihnen fernhalten sollten?

Kann jemand ein gutes Buch über Designmuster empfehlen?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage