<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Warum Singletons?]]></title><description><![CDATA[<p>Wieso macht man nicht einfach alle functionen static? Man spart sich auch noch den ganzen instance Kram und das löschen (in C++).<br />
Gibts was, was ich übersehen hab?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163821/warum-singletons</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 01:10:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163821.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 Nov 2006 07:30:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 07:30:05 GMT]]></title><description><![CDATA[<p>Wieso macht man nicht einfach alle functionen static? Man spart sich auch noch den ganzen instance Kram und das löschen (in C++).<br />
Gibts was, was ich übersehen hab?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166676</guid><dc:creator><![CDATA[3Fragezeichen]]></dc:creator><pubDate>Thu, 02 Nov 2006 07:30:05 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 07:32:59 GMT]]></title><description><![CDATA[<p>Wie du Singletones realisierst ist doch egal - wenn du meinst alles Static und Konstruktur private dann ist das doch auch in Ordnung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166679</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Thu, 02 Nov 2006 07:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 07:44:45 GMT]]></title><description><![CDATA[<p>weil du dann auch alle daten static machen muesstest, dabei ist dann die initialisierung erst ausgefuehrt wenn du diese daten zum ersten mal verwendest und bei singletons moechte man ja gerade, dass beim ersten zugriff alle daten/member initialisiert sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166683</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Thu, 02 Nov 2006 07:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 07:47:59 GMT]]></title><description><![CDATA[<p>Beispielimplmentation:</p>
<pre><code class="language-cpp">class Singleton
{
   public:
     static Singleton* exemplar();

   protected:
     Singleton() {}

   private:
     static Singleton *instanz;
};

Singleton* Singleton::instanz = 0;

Singleton* Singleton::exemplar()
{
  if( instanz == 0 )
    instanz = new Singleton();
  return instanz;
}
</code></pre>
<p>Quelle: <a href="http://www.oop-trainer.de/Themen/Singleton.html" rel="nofollow">http://www.oop-trainer.de/Themen/Singleton.html</a></p>
<p>Ich weiss nicht, ist doch static <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
Singleton erlaubt nur das einmalige Erstellen eines Objektes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166684</guid><dc:creator><![CDATA[Zeus]]></dc:creator><pubDate>Thu, 02 Nov 2006 07:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 07:59:34 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/4791">@zeus</a>: Ich glaube, der OP meinte, daß man eigentlich gar keine Instanz anlegen bräuchte und stattdessen über statische Memberfunktionen und Elemente arbeitet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>@???: Der Vorteil davon ist, daß der Singleton erst angelegt wird, wenn er wirklich gebraucht wird - und das kann unter Umständen &quot;nie&quot; sein. Außerdem ist das System erweiterbar (du könntest z.B. auch mehrere Objekte der Klasse anlegen und verwalten).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166689</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 02 Nov 2006 07:59:34 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 08:24:12 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>man sollte auch nicht vergessen, daß man über ein singleton ein Programm auch threadsafe machen kann, wenn mehrere Threads auf dieselben Daten (schreibend) zugreifen müssen (in &quot;unserem&quot; Server brauchen wir z.B. einen zentralen Zähler, von dem sich jeder Thread eine eindeutige Nummer abholen muß).. Ein static an sich ist leider nicht threadsafe (sagt Matthew Wilson in &quot;Imperfect C++&quot;) ...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166705</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 02 Nov 2006 08:24:12 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 08:48:17 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Ein static an sich ist leider nicht threadsafe (sagt Matthew Wilson in &quot;Imperfect C++&quot;)</p>
</blockquote>
<p>Ein Singleton ansich ist auch nicht Threadsafe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166723</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Thu, 02 Nov 2006 08:48:17 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 08:57:52 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ganz einfach weil du bei lauter statischen Methoden eine noch viel höhere Kopplung erzielst, als es das Singleton ohnehin schon hat. Beim Singleton bestehen aber noch Möglichkeiten, wie das Implementieren einer Schnittstelle, zur Auflösung dieser Kopplung.</p>
<pre><code class="language-cpp">class Printer {
    public:
        virtual void printDocument(Document document) = 0;
};

class LocalPrinter : Printer {
    private:
        LocalPrinter() {

        }

    public:
        virtual void printDocument(Document document) {
            // ...
        }

        static LocalPrinter&amp; getInstance() {
            static LocalPrinter printer;
            return printer;
        }
};

void printReports(Printer printer) {
    // ...
}

// anschließend der Aufruf:

printReports(LocalPrinter::getInstance());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1166736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166736</guid><dc:creator><![CDATA[unkreativ003]]></dc:creator><pubDate>Thu, 02 Nov 2006 08:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 09:37:17 GMT]]></title><description><![CDATA[<p>Das mit dem Initialisieren ist schonmal ne interessante Sache...</p>
<p>Bei einem Singelton werden alle Membervariablen zum gleichen Zeitpunkt initialisiert, ohne dass ich mir darüber Gedanken machen muß. Verwende ich n statische Variablen ist nicht definiert in welcher Reihenfolge diese initialisiert werden. Darum muß ich mich kümmern.</p>
<p>Singeltons müssen außerdem nicht zwingend beim Programmstart erzeugt und erst beim Programmende gelöscht werden. Wenn ich solche Objekte gerade nicht benötige kann ich sie löschen und bei Bedarf wieder erzeugen. Ich kann das Objekt auch als ganzes verwerfen und mir ein vollkommen anderes erzeugen.</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166761</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Thu, 02 Nov 2006 09:37:17 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 09:50:04 GMT]]></title><description><![CDATA[<p>Ich persönlich spar mir auch gerne das getInstance:</p>
<blockquote>
<p>weil du dann auch alle daten static machen muesstest, dabei ist dann die initialisierung erst ausgefuehrt wenn du diese daten zum ersten mal verwendest und bei singletons moechte man ja gerade, dass beim ersten zugriff alle daten/member initialisiert sind.</p>
</blockquote>
<p>nicht Zwangsläufig:</p>
<pre><code class="language-cpp">class MySingleton
{
public
    static PrintSingletonData(void)
    {
        cout &lt;&lt; &quot;My Singeltons data : &quot; &lt;&lt; m_Singelton.m_iSomeSingletonData &lt;&lt; endl;
    }
  private:
    MySingleton() : m_iSomeSingletonData(0){}
    MySingleton m_Singelton;
    int m_iSomeSingletonData;
};

MySingleton MySingleton::m_Singelton;
</code></pre>
<p>Ich denke auch, das denjenigen, der das Singleton benutzt eigentlich die Instanz nicht interessieren sollte, sonder eher, was es tut.</p>
<p>@unkreativ003</p>
<p>Bei Deinem Beispiel fehlt die Implementierung von printReports und dort hast du dann eine Kopplung an Printer - gut: zugegeben, an einer Stelle zentral gekapselt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166770</guid><dc:creator><![CDATA[TheBigW@Work]]></dc:creator><pubDate>Thu, 02 Nov 2006 09:50:04 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 10:14:06 GMT]]></title><description><![CDATA[<p>TheBigW@Work schrieb:</p>
<blockquote>
<p>@unkreativ003<br />
Bei Deinem Beispiel fehlt die Implementierung von printReports und dort hast du dann eine Kopplung an Printer - gut: zugegeben, an einer Stelle zentral gekapselt.</p>
</blockquote>
<p>Die Kopplung zur &quot;Schnittstelle&quot; Printer ist ja auch egal, schon alleine weil eine Abhängigkeit zu einer Schnittstelle nicht zusätzlich auch noch transitive Abhängigkeiten mit sich bringt. Das Angenehme an dieser Vorgehensweise ist ja, dass das Singleton ersetzt werden kann, beispielsweise beim Testen. Gerade in Komponententests sind Singletons, bzw. singleton-ähnliche Konstruktre pures Gift, da man sie nicht durch Mock-Objekte oder ähnliches ersetzen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166805</guid><dc:creator><![CDATA[unkreativ003]]></dc:creator><pubDate>Thu, 02 Nov 2006 10:14:06 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 11:42:43 GMT]]></title><description><![CDATA[<p>Damit ich das Singleton austauschen kann muss ich ja ein interface zurückgeben und irgendwie wird dann das Singleton immer mehr zur Factory</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166873</guid><dc:creator><![CDATA[3Fragezeichen]]></dc:creator><pubDate>Thu, 02 Nov 2006 11:42:43 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 11:43:48 GMT]]></title><description><![CDATA[<p>Das Singleton-Muster wird zu 95% falsch eingesetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166874</guid><dc:creator><![CDATA[wisser]]></dc:creator><pubDate>Thu, 02 Nov 2006 11:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 12:25:30 GMT]]></title><description><![CDATA[<p>Shade Of Mine schrieb:</p>
<blockquote>
<p>Simon2 schrieb:</p>
<blockquote>
<p>Ein static an sich ist leider nicht threadsafe (sagt Matthew Wilson in &quot;Imperfect C++&quot;)</p>
</blockquote>
<p>Ein Singleton ansich ist auch nicht Threadsafe...</p>
</blockquote>
<p>Das wissen aber viele nicht.</p>
<p>Bei einem Singleton ist auch klar, dass man nur entsprechende Memberfunktionen zugreift und dabei eine gewisse Funktionalität bereitstellt (zu der auch Serialisierung gehören kann).<br />
WENN außerdem später doch ein Multithreading unterstützt werden soll, muß man beim singleton nur die Zugriffsfunktionen anpassen, während man bei einem &quot;einfachen static&quot; jeden einzelnen Zugriff rauspulen muß ...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166906</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:25:30 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 12:27:59 GMT]]></title><description><![CDATA[<p>wisser schrieb:</p>
<blockquote>
<p>Das Singleton-Muster wird zu 95% falsch eingesetzt.</p>
</blockquote>
<p>99% der Thesen Unregistrierter sind zu schwach begründet.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166910</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:27:59 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 12:50:05 GMT]]></title><description><![CDATA[<p>Najo da hat er aber schon recht.<br />
Und wie gesagt ein Singleton ist von Haus aus auch nicht threadsafe...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166933</guid><dc:creator><![CDATA[nep]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:50:05 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 12:59:51 GMT]]></title><description><![CDATA[<p>nep schrieb:</p>
<blockquote>
<p>Najo da hat er aber schon recht...</p>
</blockquote>
<p>Ich aber auch ! :p</p>
<p>BTW: Hat hier eigentlich irgendjemand behauptet, singletons seien von sich aus threadsafe ?<br />
Solange das nicht der Fall ist, kann man vielleicht seine Gebetsmühlen wieder einpacken und mit diskutieren anfangen (wer will).</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1166943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1166943</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 02 Nov 2006 12:59:51 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Thu, 02 Nov 2006 22:48:31 GMT]]></title><description><![CDATA[<p>3Fragezeichen schrieb:</p>
<blockquote>
<p>Damit ich das Singleton austauschen kann muss ich ja ein interface zurückgeben und irgendwie wird dann das Singleton immer mehr zur Factory</p>
</blockquote>
<p>Ansatzweise richtig erkannt, aber es liegt vielmehr daran, dass man das Singleton bei einer Schnittstelle nicht mehr direkt verwendet, sondern sich beispielsweise als Parameter übergeben lässt, wodurch also auch keine Notwendigkeit für den globalen Zugriff gegeben ist. Ich selbst geh auch immer öfter in Richtung Factory, die ich wenn nötig einfach zusätzlich entsprechend dekoriere, so dass nur eine Instanz erstellt wird. Ansich ist diese Grundsatzfrage vergleich mit der Frage um die Abhängigkeitsauflösung (Inversion of Control oder Service Locator).</p>
<p>Das Problem beim Singleton ist ja wie bereits erwähnt einfach, dass es zu leichtfertig verwendet wird. Die Vernetzung einzelner Software-Komponenten gestaltet sich oft aufgrund falscher Design-Maßnahmen als schwierig. &quot;Dank&quot; dem globalen Zugriff eines Singletons kann man diesen falschen Design-Maßnahmen entgegenwirken, zahlt aber einen sehr teueren Preis - hohe Kopplung. Wenn man allerdings zu Beginn schon nicht das richtige Design gewählt hat, wird einem diese zusätzliche Kopplung aber auch egal sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167345</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167345</guid><dc:creator><![CDATA[unkreativ003]]></dc:creator><pubDate>Thu, 02 Nov 2006 22:48:31 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 00:07:13 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>WENN außerdem später doch ein Multithreading unterstützt werden soll, muß man beim singleton nur die Zugriffsfunktionen anpassen, während man bei einem &quot;einfachen static&quot; jeden einzelnen Zugriff rauspulen muß ...</p>
</blockquote>
<p>Ne.</p>
<p>Du musst jede Methode synchronisieren. Es mag einige tricks geben wie zB Adapter, die dir das bei einem Singleton erleichtern, aber du musst jede Methode abwaegen und synchronisieren. getInstance() zu synchronisieren reicht nicht aus.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/883">@TheBigW</a>:<br />
doof nur dass du damit keine Objekte mehr rumreichen kannst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167358</guid><dc:creator><![CDATA[Shade Of Mine]]></dc:creator><pubDate>Fri, 03 Nov 2006 00:07:13 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 05:44:29 GMT]]></title><description><![CDATA[<p>Löscht ihr singletons wieder? Was bringt das eigentlich? Es bleibt ja bis zum Programmende immer das selbe und wird dann vomOS automatisch gelöscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167387</guid><dc:creator><![CDATA[andere frage]]></dc:creator><pubDate>Fri, 03 Nov 2006 05:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 06:56:46 GMT]]></title><description><![CDATA[<p>Warum bleibt es bis Programmende das Selbe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167402</guid><dc:creator><![CDATA[Mathias]]></dc:creator><pubDate>Fri, 03 Nov 2006 06:56:46 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 07:20:44 GMT]]></title><description><![CDATA[<p>andere frage schrieb:</p>
<blockquote>
<p>Löscht ihr singletons wieder? Was bringt das eigentlich? Es bleibt ja bis zum Programmende immer das selbe und wird dann vomOS automatisch gelöscht.</p>
</blockquote>
<p>nö. ich lösche singletons nicht. globale statische variablen sind für mich auch eine sorte singletons.<br />
bei korrekt implementioerten singletons löscht c++ die irgendwie automatisch. gelöscht müssen sie aber werden bevor das bs den speicher wegräumen darf. zu leicht baut man später ein, daß das gesiglete objekt am ende eine datei schließen muss oder dergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167420</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 03 Nov 2006 07:20:44 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 07:49:40 GMT]]></title><description><![CDATA[<blockquote>
<p>doof nur dass du damit keine Objekte mehr rumreichen kannst.</p>
</blockquote>
<p>@Shade</p>
<p>Naja, kommt doch auf den Anwendungsfall an, oder? Wenn ich ein Singleton habe, was nur eine public Memberfunktion hat, dann nervt es sicher (aus Anwendersich) auf Dauer, wenn ich immer erst meine Instanz holen muß. Wer sagt, das ich es unbedingt als Objekt herumreichen will/muß?</p>
<p>Ansich zeigt diese Diskussion doch nur, dass es DAS Singleton so im Detail nicht giebt. Sei es das Thema initialisierung/deinitialisierung, Zugriff oder was auch immer. Singleton sagt eben nur etwas über die Instanziierbarkeit aus und läßt die anderen Details im Dunkeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167437</guid><dc:creator><![CDATA[TheBigW@Work]]></dc:creator><pubDate>Fri, 03 Nov 2006 07:49:40 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 08:05:17 GMT]]></title><description><![CDATA[<p>DAS Singleton gibt es sehr wohl und ist in einschlägiger Literatur beschrieben. Es ist halt ein Muster aus der Objektorientierten Programmierung und wird daher auch als Objekt behandelt. Nur weil DU der Meinung bist, ein Singleton nicht als Objekt zu verwenden, heisst das noch lange nicht, dass ein Singleton mehrdeutig ist. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Es bringt halt Vorteile mit sich, dass ein Singleton als Objekt behandelt wird. Du kannst das Objekt im Nachhinein spezialisieren, indem Du davon ableitest. Du kannst bei Bedarf refactorn, falls Du doch mal mehrere Instanzen erlauben willst. usw...</p>
<p>Wenn Du die Funktionalität statisch bereit stellst, dann kannst Du sie nie im Nachhinein polymorph überschreiben. -&gt; unflexibel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167448</guid><dc:creator><![CDATA[moin]]></dc:creator><pubDate>Fri, 03 Nov 2006 08:05:17 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 08:17:08 GMT]]></title><description><![CDATA[<p>So war das gar nicht gemeint. Es ging mir eher darum, das bei Singleton nicht automatisch das immer gleiche Vorgehen gemeint ist: ein Meyers Singleton und ein Phoenix Singleton sind nunmal unterschiedlich und trotzdem beide Singletons.</p>
<p>Es geht mir auch nicht darum hier zu sagen, das immer alle member statisch sein sollen. Ich sage nur, das es Fälle giebt wo das durchaus Sinn machen kann. Es schließt ja nicht mal aus, das man die Instanz trotzdem durch die Gegend reicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167459</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167459</guid><dc:creator><![CDATA[TheBigW@Work]]></dc:creator><pubDate>Fri, 03 Nov 2006 08:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to Warum Singletons? on Fri, 03 Nov 2006 09:45:29 GMT]]></title><description><![CDATA[<p>Mathias schrieb:</p>
<blockquote>
<p>Warum bleibt es bis Programmende das Selbe?</p>
</blockquote>
<p>Weil das doch gerade der Sinn des Singleton ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1167521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1167521</guid><dc:creator><![CDATA[gfsdf]]></dc:creator><pubDate>Fri, 03 Nov 2006 09:45:29 GMT</pubDate></item></channel></rss>