<?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[repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä.]]></title><description><![CDATA[<p>hi,</p>
<p>es geht darum, wie man eine bereits vorhandene datenstruktur - zum beispiel eine liste, einen baum oder eine elektronische schaltung - visuell repräsentieren kann. bei einfachen quick&amp;dirty-lösungen kann man ja den anzeige-code in die struktur reinpacken, das ist aber für größere und besser strukturierte projekte nicht geeignet.<br />
gibt es also für dieses problem verbreitete lösungen?<br />
was ich mir vorstellen könnte, wäre, anzeigeklassen von den strukturklassen abzuleiten und dort den anzeigerest reinzupacken, oder in jede anzeigeklasse einen strukturmember reinzumachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/162662/repräsentation-von-strukturen-quot-pattern-quot-o-ä</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 07:12:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/162662.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 21 Oct 2006 12:40:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sat, 21 Oct 2006 12:40:04 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>es geht darum, wie man eine bereits vorhandene datenstruktur - zum beispiel eine liste, einen baum oder eine elektronische schaltung - visuell repräsentieren kann. bei einfachen quick&amp;dirty-lösungen kann man ja den anzeige-code in die struktur reinpacken, das ist aber für größere und besser strukturierte projekte nicht geeignet.<br />
gibt es also für dieses problem verbreitete lösungen?<br />
was ich mir vorstellen könnte, wäre, anzeigeklassen von den strukturklassen abzuleiten und dort den anzeigerest reinzupacken, oder in jede anzeigeklasse einen strukturmember reinzumachen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158691</guid><dc:creator><![CDATA[J03]]></dc:creator><pubDate>Sat, 21 Oct 2006 12:40:04 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sat, 21 Oct 2006 13:36:11 GMT]]></title><description><![CDATA[<p>Mach doch eine seperate Funktion/Klasse für die Visualisierung. Ich sehe keinen Grund, warum diese von der Datenklasse erben sollte.</p>
<p>etwa in der Form</p>
<pre><code class="language-cpp">class Schaltungsplan { /* ... */ };
class Graph { /* ... */ };
class Baum { /* ... */ };

void visualisiere(Schaltungsplan const &amp;a);
void visualisiere(Graph const &amp;a);
void visualisiere(Baum const &amp;b);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1158749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158749</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sat, 21 Oct 2006 13:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sat, 21 Oct 2006 13:43:00 GMT]]></title><description><![CDATA[<p>Wenn's ein bißchen flexibler sein soll MVC (Model View Control). Das behandelt genau die Trennung von Modell und Visualisierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158758</guid><dc:creator><![CDATA[Jester]]></dc:creator><pubDate>Sat, 21 Oct 2006 13:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sat, 21 Oct 2006 14:05:12 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>rüdiger schrieb:</p>
<blockquote>
<p>warum diese von der Datenklasse erben sollte.</p>
</blockquote>
<p>ein grund wäre, dass ich in manchen fällen verwaltungscode für die struktur gleich auf die visualisierung anwenden kann. sowas wie löschen von elementen und ähnliches.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158773</guid><dc:creator><![CDATA[J03]]></dc:creator><pubDate>Sat, 21 Oct 2006 14:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sat, 21 Oct 2006 21:51:15 GMT]]></title><description><![CDATA[<p>J03 schrieb:</p>
<blockquote>
<p>hi,</p>
<p>rüdiger schrieb:</p>
<blockquote>
<p>warum diese von der Datenklasse erben sollte.</p>
</blockquote>
<p>ein grund wäre, dass ich in manchen fällen verwaltungscode für die struktur gleich auf die visualisierung anwenden kann. sowas wie löschen von elementen und ähnliches.</p>
</blockquote>
<p>Äh, würde mich doch sehr wundern, wenn die Visualisierung Elemente löscht. Ich denke mal, das die Visualisierung gut ohne die Interna der Klasse klar kommen sollte, ansonsten scheint man was mit dem Interface falsch gemacht haben.</p>
<p>Aber sollte es wirklich so einen Fall geben, würde ich doch wohl ein friend klar bevorzugen.</p>
<p>(Wir sprechen hier ja eh von privater Vererbung, oder?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158794</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Sat, 21 Oct 2006 21:51:15 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sun, 22 Oct 2006 07:45:57 GMT]]></title><description><![CDATA[<p>rüdiger schrieb:</p>
<blockquote>
<p>etwa in der Form</p>
<pre><code class="language-cpp">class Schaltungsplan { /* ... */ };
class Graph { /* ... */ };
class Baum { /* ... */ };

void visualisiere(Schaltungsplan const &amp;a);
void visualisiere(Graph const &amp;a);
void visualisiere(Baum const &amp;b);
</code></pre>
</blockquote>
<p>Finde ich etwas unflexibel, weil Veränderungen oder Erweiterungen an der Datenstruktur dann Seiteneffekte auf die zentrale Visualisierung hat. Muss man sicher von Fall zu Fall entscheiden, aber ich würde ein Interface Drawable definieren mit einer Methodensignatur zum Zeichnen/Visualisieren und jede Komponente der Datenstruktur, die darstellbar sein soll, implementiert dieses. Wer, wenn nicht die Komponenten selber, sollten wissen, wie sie auszusehen haben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158884</guid><dc:creator><![CDATA[moin]]></dc:creator><pubDate>Sun, 22 Oct 2006 07:45:57 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sun, 22 Oct 2006 08:31:05 GMT]]></title><description><![CDATA[<p>Du musst so oder so die Visualisierung neu schreiben/erweitern wenn du die Daten änderst. Ob die Visualisierung nun in der Datenklasse mit drinner ist, ist egal.</p>
<p>Entweder musst du Schaltungsplan::visualisiere() ändern oder du musst SchaltungsplanVisualisierer::visualisiere() ändern. Wo soll dann der Unterschied sein?</p>
<p>Auf interne Implementationsdetails der Datenklasse braucht die Visualisation doch sowieso nicht zu zugreifen.</p>
<p>Schau dir einfach das MVC Modell an, wie Jester es vorgeschlagen hat, es bietet schon sehr viele Vorteile.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158896</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158896</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Sun, 22 Oct 2006 08:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sun, 22 Oct 2006 09:31:38 GMT]]></title><description><![CDATA[<blockquote>
<p>Du musst so oder so die Visualisierung neu schreiben/erweitern wenn du die Daten änderst.</p>
</blockquote>
<p>Eben nicht. In der von mir beschriebenen Lösung kannst Du Komponenten integrieren, ohne dabei bestehenden Code verändern zu müssen. Und gemäß MVC kannste dann alle Drawables einheitlich behandeln und in den Views darstellen. Natürlich sollte ein Drawable dabei nicht direkt in Elemente der GUI schreiben. Das ist natürlich Aufgabe des Controllers im Sinne von MVC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158925</guid><dc:creator><![CDATA[moin]]></dc:creator><pubDate>Sun, 22 Oct 2006 09:31:38 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sun, 22 Oct 2006 09:48:32 GMT]]></title><description><![CDATA[<p>moin schrieb:</p>
<blockquote>
<p>In der von mir beschriebenen Lösung kannst Du Komponenten integrieren, ohne dabei bestehenden Code verändern zu müssen.</p>
</blockquote>
<p>Das hast du in der MVC sowieso <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>moin schrieb:</p>
<blockquote>
<blockquote>
<p>Du musst so oder so die Visualisierung neu schreiben/erweitern wenn du die Daten änderst.</p>
</blockquote>
<p>Eben nicht. In der von mir beschriebenen Lösung kannst Du Komponenten integrieren, ohne dabei bestehenden Code verändern zu müssen. Und gemäß MVC kannste dann alle Drawables einheitlich behandeln und in den Views darstellen. Natürlich sollte ein Drawable dabei nicht direkt in Elemente der GUI schreiben. Das ist natürlich Aufgabe des Controllers im Sinne von MVC.</p>
</blockquote>
<p>Was erzählst du eigentlich, vorhin war die MVC zu unflexibel (aus welchen Grund auch immer). Jetzt willst du doch MVC machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158931</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158931</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Sun, 22 Oct 2006 09:48:32 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sun, 22 Oct 2006 09:55:50 GMT]]></title><description><![CDATA[<p>Ich glaube, wir reden aneinander vorbei. Ich rede nicht davon, dass MVC unflexibel ist. Es geht mir darum, solche Mechanismen nicht zentral umzusetzen sondern wenn es sich anbietet, dass ganze auf die Objekte selbst zu delegieren. Die Objekte des Datenmodells wissen selbst, wie sie sich darzustellen haben. Dem Controller kann es somit wurscht sein, was das für Objekte sind. Er kann die Objekte einheitlich behandeln und somit die Komponent konkret auf der GUI darstellen.</p>
<p>Im übrigen in ähnlicher Form nachzulesen in &quot;Entwurfsmuster&quot; von Erich Gamma et al.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1158939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1158939</guid><dc:creator><![CDATA[moin]]></dc:creator><pubDate>Sun, 22 Oct 2006 09:55:50 GMT</pubDate></item><item><title><![CDATA[Reply to repräsentation von strukturen - &amp;quot;pattern&amp;quot; o.ä. on Sun, 22 Oct 2006 11:50:42 GMT]]></title><description><![CDATA[<p>Es ist der Darstellung im Grunde egal ob sie mit einer Visualisierungs-Klasse oder mit der Daten-Klasse direkt arbeitet. Wo soll der Unterschied sein ob die Darstellung einen Container voller Visualisierungs-Klassen hat oder ob in den Containern die Daten-Klassen sind, die eine Visualisierungs-Methode anbieten.</p>
<blockquote>
<p>dass ganze auf die Objekte selbst zu delegieren.</p>
</blockquote>
<p>Das ist ziemlich schlechtes Design. Ein Objekt soll nicht die Wollmilchsau sein, sondern Objekte sollten speziallisiert sein auf deren Aufgabenstellung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1159011</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1159011</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Sun, 22 Oct 2006 11:50:42 GMT</pubDate></item></channel></rss>