AS3: Statische Klasse vs. Singleton
Ich kenne SO Kumpels sind nicht die fans von "versus" Fragen, aber... auch umformulieren die Pünktchen etwas, das gegen Teil ist immer noch da, also, warum verstecken Sie es.
Grundsätzlich, ich würde gerne wissen, Wann und warum sollte ich ein singleton oder eine statische Klasse, was die anbieten können ein singleton, dass eine statische Klasse nicht, und Umgekehrt.
Für eine lange Zeit, die ich verwendet beide, und ich kann nicht sehen, ein Grund, warum ich sollte nicht verwenden Sie einen über den anderen.
Dank.
- können Sie erläutern, auf "statische Klasse" Konstruktion, weil "public static class" ist (noch) nicht unterstützt auf AS3 soweit ich weiß..
- Sicher, ich meinte, dass eine Klasse mit Methode und Variablen statisch.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beide sind im Grunde Globale Variablen mit Einschränkungen. Statische Klassen, Vererbung, und Singletons sind hässlich und fügen overhead mit einem Grundstück Suche. Beide machen automatisierte Tests schwierig.
AS3 unterstützt Globale Variablen, also warum nicht diese verwenden?
Statisch:
Singletons:
Globale variable:
Nun, lassen Sie s sagen, obwohl du nur eine einzige Instanz der Klasse in Ihrer Produktion, app, müssen Sie mehrere Instanzen zum schreiben von tests. Sie können machen Sie eine öffentliche Klasse
Config
, und verwenden Siecom.example.config = new Config()
zurücksetzen. Alle Orte, die Referenz Ihrer globalen Variablen werden jetzt mit der neuen Instanz, und Sie können sogar ausgefallene Dinge wie inheritence.Beispiel:
[Inject] public var log:ILogger;
nicht lesbar?;