Singleton Vererbung
Wie kann ich die Erben von einer singleton-Klasse in andere Klassen, die die gleiche Funktionalität?
Würde so etwas Sinn?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie kann ich die Erben von einer singleton-Klasse in andere Klassen, die die gleiche Funktionalität?
Würde so etwas Sinn?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jon Skeet darüber schrieb eine Weile zurück. Es ist möglich, zu erreichen einige die Vorteile der Vererbung mit dem Singleton, obwohl über geschachtelte innere Klassen lässt ein wenig zu wünschen übrig. Es muss nicht unendliche Erweiterbarkeit, es ist nur eine Technik, die für das Singleton-wählen Sie Ihre eigene Implementierung zur Laufzeit.
Realistisch, Erben von Singleton macht nicht viel Sinn, da ein Teil des Singleton-Musters ist das Instanz-management, und nachdem Sie bereits eine physische Instanz eines Basistyps dann ist es zu spät, um zu überschreiben, dieses im abgeleiteten Typ. Selbst wenn man das könnte, ich vermute, dass es könnte zu einem design, das nur schwer zu verstehen und noch schwerer zu testen/pflegen.
Können Sie Erben von singleton und für die "Wiederverwendung" oder eine Feinabstimmung der Verwendung von templates (C++) oder Generika (C#.NET).
Habe ich geschrieben in meinem blog (http://www.devartplus.com) eine serie von posts in diesem Thema:
1) Basic singleton Vererbung in C#.NET
2) Thread-safe singleton Vererbung in C#.NET
3) Mehrere singleton-Implementierung in C++
Sind Sie herzlich eingeladen, besuchen Sie diese links, und teilen Sie mit allen Ihre Meinung.
Viel Glück.
Jemand fühlen Sie sich frei, mich zu korrigieren, aber so wie ich es verstehe, und hatte einen Fehler mit dieser einmal:
Sowohl von den Kind-Klassen teilen würde die gleichen
ListOfSomething
, Sie würden nicht Ihre eigene Kopie. Die gleichen statischen geteilt unter alle Kinder. Dies ist das mausern der singleton-Verhalten und Vererbung. So seidig, sagte...man darf nur nicht tun, werden Sie wahrscheinlich in etwas entlang dieser Linien.Wenn Sie reden nicht über sowas...ich bin mir nicht sicher, was singleton-Sie sprechen und ein Beispiel würde sehr helfen, da singleton ist eine große Nische verwendet.