Meyers Singleton Pattern?



  • Hallo,
    ich habe des öfteren gehört das das Singleton Pattern von Scott Meyer nicht das beste sein. Gibt es bessere alternativen?

    danke schonmal im voraus!

    Grüße



  • c++anfänger04 schrieb:

    ich habe des öfteren gehört das das Singleton Pattern von Scott Meyer nicht das beste sein. Gibt es bessere alternativen?

    a) Der Mensch heißt Scott Meyers. Soviel Zeit muss sein
    b) Die Frage ist viel zu unkonkret. Wie gut oder schlecht das Meyers' Singleton ist, hängt von den konkreten Anforderungen ab.
    Problematisch ist diese Version, im Multithreading-Betrieb sowie bei Inter-Singleton-Abhängigkeiten. Im "Normalfall" ist Meyers' Singleton aber eine sehr elegante Implementation.

    Alternative Singleton-Implementationen findest du z.B. in Alexandrescus "Modern C++ Design", in Vlissides' "Pattern Hatching" und in unzähligen Artikeln im Internet.
    Such z.B. mal nach "Singleton + Destruction"

    Grundsätzlich solltest du aber vor der Anwendung des Singleton-Musters noch mal ganz genau prüfen, ob du wirklich ein Singleton brauchst. Singleton ist das wohl am häufigsten zu unrecht eingesetzte Pattern (vielleicht weil es das bekannteste ist?). Manchmal ist Monostate eher angebracht und häufig ist sogar ein normales Objekt (ohne globalen Zugriff), dass per Referenz rumgereicht wird die bessere Lösung.



  • Bin ja für letztere Lösung. Die ist schön einfach und leicht zu überprüfen und kontrollieren.



  • 😕

    HumeSikkins hat nicht für ein und das selbe Problem mehrere Lösungen angegeben, sondern gesagt, das in verschiedenen Situationen verschiedene Lösungen zu verwenden sind. Außerdem hat er zu recht gesagt, dass das Singleton Pattern das am häufigsten misssbrauchte ist.
    Das heißt aber nicht, das es ein schlechtes oder sinnloses Pattern ist. Manchmal ist es genau das richtige.


Anmelden zum Antworten