<?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[Schnittstelle zum User Interface...]]></title><description><![CDATA[<p>Ich hab mal eine Frage, wenn man eine Software etwickelt und möglichst flexibel bezüglich des User Interfaces bleiben will, also Grundlagen für Konsolen-User-Interface, als auch GUI schaffen will, wie geht man da am sinnigsten vor?</p>
<p>Der Unterschied ist klar, Konsole arbeitet im Blocking Mode, ergo wartet &quot;gibNummer&quot;, bis gibNummer etwas returned. In der GUI funktioniert das ja eher ziemlich anders, am nächsten kommt dem wohl ein Observer Pattern. Logik sagt -&gt; gib Nummer, wenn Logik fertig ist, wird in der GUI eine Methode der Logik &quot;zurück benachrichtigt&quot;. Das verdoppelt im grunde die Anzahl der Methoden, die mit nem Konsolen-interface kommunizieren (im Falle der GUI)<br />
Gibt da nen Ansatz um möglichst flexibel zu arbeiten und vielleicht einen Mittelweg gehen?<br />
Im Grunde ist bei mir der Fall so, dass ich seit Jahren GUIs entwickel und damals als Anfänger auch schön alles mit Konsole gemacht und als wir dann auf GUI umsteigen musste, musste die ganze Logik neu gemacht werden, weil wir noch nicht wussten, wie unterschiedlich die beiden Sachen sind.<br />
In diesem Fall hier wird niemals eine GUI hinzukommen, aber ich würde gerne irgendwie zeigen, dass ich so umsichtig wie möglich plane.<br />
Und ich würde die Konsole ungern gethreaded implementieren <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194450/schnittstelle-zum-user-interface</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 14:39:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194450.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 07 Oct 2007 09:36:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 09:37:03 GMT]]></title><description><![CDATA[<p>Ich hab mal eine Frage, wenn man eine Software etwickelt und möglichst flexibel bezüglich des User Interfaces bleiben will, also Grundlagen für Konsolen-User-Interface, als auch GUI schaffen will, wie geht man da am sinnigsten vor?</p>
<p>Der Unterschied ist klar, Konsole arbeitet im Blocking Mode, ergo wartet &quot;gibNummer&quot;, bis gibNummer etwas returned. In der GUI funktioniert das ja eher ziemlich anders, am nächsten kommt dem wohl ein Observer Pattern. Logik sagt -&gt; gib Nummer, wenn Logik fertig ist, wird in der GUI eine Methode der Logik &quot;zurück benachrichtigt&quot;. Das verdoppelt im grunde die Anzahl der Methoden, die mit nem Konsolen-interface kommunizieren (im Falle der GUI)<br />
Gibt da nen Ansatz um möglichst flexibel zu arbeiten und vielleicht einen Mittelweg gehen?<br />
Im Grunde ist bei mir der Fall so, dass ich seit Jahren GUIs entwickel und damals als Anfänger auch schön alles mit Konsole gemacht und als wir dann auf GUI umsteigen musste, musste die ganze Logik neu gemacht werden, weil wir noch nicht wussten, wie unterschiedlich die beiden Sachen sind.<br />
In diesem Fall hier wird niemals eine GUI hinzukommen, aber ich würde gerne irgendwie zeigen, dass ich so umsichtig wie möglich plane.<br />
Und ich würde die Konsole ungern gethreaded implementieren <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379558</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sun, 07 Oct 2007 09:37:03 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 09:49:00 GMT]]></title><description><![CDATA[<p>Normalerweise schreibt man eine libfoobar, die sämtliche Funktionalität beinhaltet.</p>
<p>foobar ist dann einfach ein CLI-Progrämmchen, das diese Library verwendet und für KDE schreibst Du eben ein kfoobar oä.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379564</guid><dc:creator><![CDATA[nman]]></dc:creator><pubDate>Sun, 07 Oct 2007 09:49:00 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 09:57:54 GMT]]></title><description><![CDATA[<p>Ja, aber wie kapsel ich die Kommunikation für mich am geschicktesten? Ich mein Konsole ist synchron, GUI ist asynchron und wenn auch die Logik ne Lib hat, wie gib mir Nummer, so erwartet die Logik ja sofort eine Antwort, die kann aber bei asynchronenen Aktivitäten wie Threads ja nicht sofort gegeben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379568</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sun, 07 Oct 2007 09:57:54 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 10:55:58 GMT]]></title><description><![CDATA[<p>Meine Idee war, dass ich den View als Observer Pattern implementiere.<br />
Meine Logik meldet sich am View an und wird benachrichtigt, wenn sich im View etwas ändert, das klingt für mich recht gut.<br />
Das Problem ist nur, dass View ja eine Menge an verschiedener Zustände haben kann -&gt; Namen eingegeben, Zahl eingegeben, Button gedrückt usw.<br />
Da per Definition die Logik also eine update Methode hat, müsste diese ja immer ein einheitliches ZustandsObjekt bekommen und das wäre irgendwie ein Hammer Aufwand, quasi eine update methode, die ne Menge ifs oder switches hat und jedesmal prüfen muss, was sich gerade geändert hat, ob Name, ob Zahl, ob Button usw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379592</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379592</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sun, 07 Oct 2007 10:55:58 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 11:02:28 GMT]]></title><description><![CDATA[<p>du solltest mal zwischen ui logik und der restlichen programm logik unterscheiden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379600</guid><dc:creator><![CDATA[hiwi]]></dc:creator><pubDate>Sun, 07 Oct 2007 11:02:28 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 11:04:58 GMT]]></title><description><![CDATA[<p>Tu ich, logik ist Programm logik, der Rest vom View ist erstmal alles eins, bei dem Schritt sehe ich noch keinen Sinn, das noch detailierter zu trennen, ich rede von Observer -&gt; Programmlogik, Subjekt -&gt; View.</p>
<p>Ich meine hier die Kommunikation des Views als ganzes mit der Logik. Die alternative wäre ja, dass die Logik 100 Methoden wie &quot;nameEingegeben&quot;, &quot;alterEingegeben&quot; usw hat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379602</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sun, 07 Oct 2007 11:04:58 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 11:52:56 GMT]]></title><description><![CDATA[<p>Mit dem Observer-Pattern bist du schon nah dran. Schau dir mal das <a href="http://de.wikipedia.org/wiki/MVC" rel="nofollow">MVC-Pattern</a> an. Das beschreibt die Trennung von Präsentation, Steuerung und Modell.</p>
<p>Dennis</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379632</guid><dc:creator><![CDATA[deha]]></dc:creator><pubDate>Sun, 07 Oct 2007 11:52:56 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 12:38:20 GMT]]></title><description><![CDATA[<p>Danke <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>
<p>Da bin ich ja schon längst, ich implementiere MVC und will die Benachrichtigung vom Controller durch View durch den Observer erreichen.<br />
Ich hab hier nur das Problem, dass sich die Änderung des Views in vielen Arten auswirkt, Beispielsweise kann ein Name eingegeben werden, wenn man einen Film sucht, oder wenn man seinen Namen eintragen will. Oder ein int wird beim Alter übergeben usw.<br />
Und mein State, was vom view an controller übergeben wird, muss ja irgendwie die art der übergabe und den wert rüber schicken</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379660</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sun, 07 Oct 2007 12:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 17:37:19 GMT]]></title><description><![CDATA[<p>üblicherweise hängt man einfach an jedes objekt, das auf usereingaben reagieren soll, nen eigenen observer. für manche views lässt sich das auch zusammenfassen (man braucht nicht einen observer für jede zelle einer tabelle), aber es ist auch unüblich, einfach alle events zentral in einem observer zusammenzufassen. kann man theoretisch machen, aber dann werden deine events komplizierter (müssen viele informationen über sender enthalten), der observer nen ungelenk fettes teil und irgendwann bist du dann soweit, dass du nicht mehr weiterkommst, ohne dir laufzeitinformationen zu besorgen.<br />
also teil es lieber in viele kleine observer auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379908</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sun, 07 Oct 2007 17:37:19 GMT</pubDate></item><item><title><![CDATA[Reply to Schnittstelle zum User Interface... on Sun, 07 Oct 2007 17:40:09 GMT]]></title><description><![CDATA[<p>Aber ein Observer ist doch ein Objekt, ich hab eine Logik, wie soll die bei mehreren verschiedenen Events benachrichtigt werden? Ich mein der Observer implementiert ja eine update Methode, so müsste ich mehrere Objekte mit update Methoden haben, und die wären ja noch trivialer, als wenn ich für jede Antwort des Views eine Gegenmethode in der Logik hätte, mit Klassen hätte ich das gleiche, nur mit dem Overhead, dass ich nicht eine Methode, sondern eine ganze Klasse mit dieser einen Methode schleppe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1379909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1379909</guid><dc:creator><![CDATA[Seikilos]]></dc:creator><pubDate>Sun, 07 Oct 2007 17:40:09 GMT</pubDate></item></channel></rss>