<?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[Anfängerfrage: zentrales Datenobjekt]]></title><description><![CDATA[<p>Hallo,</p>
<p>in einer (für mich) komplexen Klassenhierarchie sollen die Objekte auf ein zentrales Datenobjekt zugreifen können. ZB. Rechnung besteht aus Adressen, Produkteigenschaften; Daten drucken, speichern...<br />
Der Gültigkeitsbereich der Objekte macht mir Sorgen. Vererbung ist sicherlich nicht der richtige Weg. Welches Vorgehen ist zu empfehlen? Assoziationen? Kenne mich (bisher) nicht so richtig bei Entwurfmustern aus, kann aber lesen. Gibt es da was?.</p>
<p>Viele Grüße<br />
Uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/206969/anfängerfrage-zentrales-datenobjekt</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 21:06:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206969.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Mar 2008 11:14:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 11:14:54 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in einer (für mich) komplexen Klassenhierarchie sollen die Objekte auf ein zentrales Datenobjekt zugreifen können. ZB. Rechnung besteht aus Adressen, Produkteigenschaften; Daten drucken, speichern...<br />
Der Gültigkeitsbereich der Objekte macht mir Sorgen. Vererbung ist sicherlich nicht der richtige Weg. Welches Vorgehen ist zu empfehlen? Assoziationen? Kenne mich (bisher) nicht so richtig bei Entwurfmustern aus, kann aber lesen. Gibt es da was?.</p>
<p>Viele Grüße<br />
Uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466517</guid><dc:creator><![CDATA[Pluto]]></dc:creator><pubDate>Sun, 02 Mar 2008 11:14:54 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 11:41:05 GMT]]></title><description><![CDATA[<p>Ich würd ein Singleton nehmen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466531</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Sun, 02 Mar 2008 11:41:05 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 11:42:18 GMT]]></title><description><![CDATA[<p>Zentrale Datenobjekte, welche womöglich nur einmal vorkommen, da empfehlt sich dich mal nach Singleton umzuschauen. Wikipedia hat da sogar einen gar nicht mal so schlechten Artikel darüber:<br />
<a href="http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)" rel="nofollow">http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)</a></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466532</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 02 Mar 2008 11:42:18 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 12:11:08 GMT]]></title><description><![CDATA[<p>aha:<br />
statisch + einzigartig = global</p>
<p>Zugriff also über Scope-Operator? Wie gesagt: Anfänger!</p>
<p>Danke<br />
Uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466547</guid><dc:creator><![CDATA[Pluto]]></dc:creator><pubDate>Sun, 02 Mar 2008 12:11:08 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 12:40:47 GMT]]></title><description><![CDATA[<p>Ein Singleton ist ein Objekt, dass in einer statischen Methode eine Instanz auf sich selbst zurückgibt.<br />
Ich würd sagen der Unterschied zu einem globalen Objekt besteht darin, dass es dadurch gekapselt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466573</guid><dc:creator><![CDATA[JustAnotherNoob]]></dc:creator><pubDate>Sun, 02 Mar 2008 12:40:47 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 12:42:54 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Zentrale Datenobjekte, welche womöglich nur einmal vorkommen, da empfehlt sich dich mal nach Singleton umzuschauen. Wikipedia hat da sogar einen gar nicht mal so schlechten Artikel darüber:<br />
<a href="http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)" rel="nofollow">http://de.wikipedia.org/wiki/Singleton_(Entwurfsmuster)</a></p>
<p>Grüssli</p>
</blockquote>
<p>Wobei anzumerken ist, dass der Artikel starke Kritik am Singleton übt, es sogar als antipattern bezeichnet, und zum Schluss kommt, dass Designs mit Singletons schwieriger sind, als Designs ohne.</p>
<p>Pluto, ich würde dir empfehlen, dass du deinem Objekt eine referenz auf dieses zentrale datenobjekt übergibst. So hast du auch keine Probleme, wenn aus dem einen Objekt auch mal 2 oder mehr werden <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/1466575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466575</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Sun, 02 Mar 2008 12:42:54 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 12:51:40 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>Wobei anzumerken ist, dass der Artikel starke Kritik am Singleton übt, es sogar als antipattern bezeichnet, und zum Schluss kommt, dass Designs mit Singletons schwieriger sind, als Designs ohne.</p>
</blockquote>
<p>Und der Artikel hat doch recht? Ich habe schon gesehen, das Leute die globalen Variablen aus der C Zeit, alle durch Singleton Objekte ersetzt haben. Nicht zu glauben, aber wahr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Der Artikel sagt auch, dass es Fälle gibt, wo man Singleton einsetzen soll, aber diese halt selten sind. Man solle halt so oft wie möglich auf Singleton verzichten, was ich auch für sinnvoll halte <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>Ich denke daher, der Artikel ist sehr gut und zeigt dem Pluto auch gleich, was ein Singleton genau ist und wofür das wirklich gebraucht wird. Vielleicht sagt er ja nun &quot;HALT! Das meinte ich nicht!&quot;. <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 tatsächlich unterschied zwischen einer globalen Variable und einem Singleton ist wohl der, dass Singleton garantiert, dass dieses Objekt im ganzen Projekt, sicher nur EIN EINZIGES MAL vorkommt.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466583</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 02 Mar 2008 12:51:40 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 17:54:14 GMT]]></title><description><![CDATA[<p>Ja also, es scheint so, als ob Ihr Euch auf einer anderen Ebene bewegt (höher - freilich).<br />
Tatsächlich will ich erreichen, das mehrere unabhängige Objekte auf ein einzelnes Objekt zugreifen können.<br />
Singleton ist die Lösung eines Teils des Problems.<br />
Man kann ja in jeder Klasse das Datenobjekt deklarieren. Aber nach der Definition habe ich in den unterschiedlichen Objekten auch unterschiedliche Datenobjekte. Wie soll man eine Referenz auf etwas unbekanntes beziehen?<br />
Also z.B. zwei voneinander unabhängige Klassen, die jeweils mit der gleichen DatenKlasse assoziiert sind. Wie können die denn auf das gleiche Datenobjekt zugreifen? Die kennen sich doch garnicht.<br />
Aber das ist sicher nicht so schwierig, weil es ja sicherlich ständig dieses Problem zu lösen gilt.</p>
<p>Uwe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466788</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466788</guid><dc:creator><![CDATA[Pluto]]></dc:creator><pubDate>Sun, 02 Mar 2008 17:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to Anfängerfrage: zentrales Datenobjekt on Sun, 02 Mar 2008 19:02:13 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Der tatsächlich unterschied zwischen einer globalen Variable und einem Singleton ist wohl der, dass Singleton garantiert, dass dieses Objekt im ganzen Projekt, sicher nur EIN EINZIGES MAL vorkommt.</p>
</blockquote>
<p>Und globale Variablen haben auch noch weitere Nachteile (Die man aber auch anders beheben kann): Undefinierte Reihenfolge der Anlage (Was bei Abhängigkeiten ernste Schwierigkeiten einbringt.</p>
<p>Ohne ein Singleton zu verwenden kann man dieses Problem der globalen Variablen aber auch lösen:</p>
<pre><code class="language-cpp">A&amp; GetA() {
  static A instance;
  return instance;
}
</code></pre>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1466845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1466845</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sun, 02 Mar 2008 19:02:13 GMT</pubDate></item></channel></rss>