wxTreeList
Verfasst: Montag 18. August 2008, 07:16
Hallo
ich tue mich etwas schwer mit der sauberen Trennung von GUI-Code und Anwendungslogik. Ich habe eine Baumstruktur in Form verschiedener Klasse, die alle von TreeNode erben. Ich würde jetzt gern Bäume mit Hilfe des wxTreeListCtrl darstellen und editieren.
Ich hab mich ein paar Patterns angesehen, die Helfen sollen eine saubere Trennung zwischen der GUI und den Anwendungsdaten herzustellen. Unter anderem habe ich mir ModelViewControler, ModelViewPresenter, SupervisingController und PassiveView angeschaut.
Das Problem ist nun, dass die alle auf den ersten Blick recht schön sind, und einiger (ModelViewPresenter, PassiveView) wirklich eine schön saubere Trennung hinbekommen. Dummerweiße sind die Beispiele im Grunde alle so, dass eine Änderung am Modell durch Notification dazu führt, dass der View komplett aktuallisiert wird. Das ist aber nicht sinnvoll, für große Modelle. Besser wäre, wenn sich immer nur die Teile aktuallisieren, die sich auch wirklich geändert haben. Das erfordert aber eine ziemlich große Menge an Infrastrukturcode.
Gibt es hier jemanden, der meint eine saubere GUI-Separation auch für reale Anwendungsfälle hinzubekommen, und dabei mit überschaubar viel Overhead hinkommt? Wenn ja, was kann ich tun um das auch zu schaffen? Wenn nein dann schließt sich gleich die nächste Frage an:
Nehmt ihr überhaupt einen saubere Trennung vor, oder spart ihr euch auf Grund der zu erwartenden Komplexität dann lieber den ganzen Aufwand, und schreibt den Programmcode einfach in die GUI-Klassen mit rein?
Danke und gruß
barfoos
ich tue mich etwas schwer mit der sauberen Trennung von GUI-Code und Anwendungslogik. Ich habe eine Baumstruktur in Form verschiedener Klasse, die alle von TreeNode erben. Ich würde jetzt gern Bäume mit Hilfe des wxTreeListCtrl darstellen und editieren.
Ich hab mich ein paar Patterns angesehen, die Helfen sollen eine saubere Trennung zwischen der GUI und den Anwendungsdaten herzustellen. Unter anderem habe ich mir ModelViewControler, ModelViewPresenter, SupervisingController und PassiveView angeschaut.
Das Problem ist nun, dass die alle auf den ersten Blick recht schön sind, und einiger (ModelViewPresenter, PassiveView) wirklich eine schön saubere Trennung hinbekommen. Dummerweiße sind die Beispiele im Grunde alle so, dass eine Änderung am Modell durch Notification dazu führt, dass der View komplett aktuallisiert wird. Das ist aber nicht sinnvoll, für große Modelle. Besser wäre, wenn sich immer nur die Teile aktuallisieren, die sich auch wirklich geändert haben. Das erfordert aber eine ziemlich große Menge an Infrastrukturcode.
Gibt es hier jemanden, der meint eine saubere GUI-Separation auch für reale Anwendungsfälle hinzubekommen, und dabei mit überschaubar viel Overhead hinkommt? Wenn ja, was kann ich tun um das auch zu schaffen? Wenn nein dann schließt sich gleich die nächste Frage an:
Nehmt ihr überhaupt einen saubere Trennung vor, oder spart ihr euch auf Grund der zu erwartenden Komplexität dann lieber den ganzen Aufwand, und schreibt den Programmcode einfach in die GUI-Klassen mit rein?
Danke und gruß
barfoos