singleton - klassen oder statische member



  • Hallo,
    das was ich jetzt Frage könnte sich vielleicht designmäßig gesehen komisch anhören, aber ich verstehe nicht ganz warum man Singleton Klassen einsetzt um eine Klasse, von der es nur eine Instanz geben soll, zu instanziieren, wenn man doch alle Member der Klasse einfach statisch machen kann, sodass man im Grunde genommen immer die gleichen Objekte "anspricht" egal wie viele Instanzen man hat. Verstehe ich das richtig?
    Gibt es bei dieser Vorgehensweise andere Probleme/Nuancen außer, dass die Vererbung evtl. nicht so funktioniert wie es mit nicht-statischen Membern der Fall wäre?

    mfg
    Alex



  • Der Zeitpunkt der initialisierung und deinitialisierung ist dabei unflexibel.
    Kann ein Problem sein, kann aber auch gut sein, dass es egal ist.
    Ich hab auch schon paar mal statische klassen benutzt, finds auch oft besser zu verwenden als singleton, weil man sonst immer noch ::instance() schreiben muss 😃



  • Q schrieb:

    weil man sonst immer noch ::instance() schreiben muss 😃

    Muss man nicht. Mach statische Methode dafür und instance() private. Problem gelöst.



  • Ok danke für die Antworten. Habe gestern eine statische Klasse implementiert und die (De)Initializierung scheint in meinem Fall kein Problem zu sein 😃 .



  • du brauchst (wahrscheinlich) keinen Singleton. Ehrlich.


Anmelden zum Antworten