Design Formulardaten
Verfasst: 13.03.2012, 12:56
Hallo ich habe mal eine generelle Design-Frage. Speziell geht es um Formulare; damit meine ich grafische Oberflächen mit Daten. Also meinetwegen ein normaler Dialog oder auch ein HTML-Formular.
Als Beispiel will ich hier aber auf C# Forms (System.Windows.Forms) eingehen.
Die Daten werden innerhalb der Controls gehalten (z.B. in einer TextBox oder einem ListView). Die Daten sind dadurch fest verknüpft mit der Oberfläche und eigentlich nur die Anzeigedaten. Sagen wir mal ich habe eine Klasse, die auf den Daten arbeiten soll. Ich würde nun bei der Form die Daten abfragen. Prinzipiell kein Problem. Allerdings finde ich es von der logischen Seite her nicht korrekt. Die Form dient ja nur zur Eingabe und Anzeige der Daten, sie ist prinzipiell nicht dazu gedacht Daten zu verwalten.
Daher frage ich mich ob es rein aus Designgründen nicht eigentlich sinnvoll wäre, alle Daten auszulagern und mit der Form zu synchronisieren, während andere Programmteile auf den ausgelagerten Datensätzen arbeiten?
Wenn dem so ist, hat das natürlich wieder einige Nachteile. Man muss z.B. die Daten wie angesprochen synchronisieren, was fehleranfällig sein kann.
Als Vorteil sehe ich aber z.B. dass die eigentliche Datenverwaltung dann recht flexibel ist (es könnte sogar eine externe Datenbank sein). Allerdings rede ich hier auch von Datensätzen, die nur lokal benötigt werden. Das geht hin bis zu einfachsten Forms wo man nur seinen Namen eingibt. Auch dieser Name müsste mMn nach außerhalb der Form verwaltet werden.
Ich will hier nicht klugscheißen und mir ist bewusst dass es in vielen Fällen viel aufwendiger wäre sowas zu realisieren. Es geht mir nur mal um eine Diskussion über die Logik dahinter. Mich würden Meinungen dazu interessieren.
Danke für die Aufmerksamkeit. ;)
Als Beispiel will ich hier aber auf C# Forms (System.Windows.Forms) eingehen.
Die Daten werden innerhalb der Controls gehalten (z.B. in einer TextBox oder einem ListView). Die Daten sind dadurch fest verknüpft mit der Oberfläche und eigentlich nur die Anzeigedaten. Sagen wir mal ich habe eine Klasse, die auf den Daten arbeiten soll. Ich würde nun bei der Form die Daten abfragen. Prinzipiell kein Problem. Allerdings finde ich es von der logischen Seite her nicht korrekt. Die Form dient ja nur zur Eingabe und Anzeige der Daten, sie ist prinzipiell nicht dazu gedacht Daten zu verwalten.
Daher frage ich mich ob es rein aus Designgründen nicht eigentlich sinnvoll wäre, alle Daten auszulagern und mit der Form zu synchronisieren, während andere Programmteile auf den ausgelagerten Datensätzen arbeiten?
Wenn dem so ist, hat das natürlich wieder einige Nachteile. Man muss z.B. die Daten wie angesprochen synchronisieren, was fehleranfällig sein kann.
Als Vorteil sehe ich aber z.B. dass die eigentliche Datenverwaltung dann recht flexibel ist (es könnte sogar eine externe Datenbank sein). Allerdings rede ich hier auch von Datensätzen, die nur lokal benötigt werden. Das geht hin bis zu einfachsten Forms wo man nur seinen Namen eingibt. Auch dieser Name müsste mMn nach außerhalb der Form verwaltet werden.
Ich will hier nicht klugscheißen und mir ist bewusst dass es in vielen Fällen viel aufwendiger wäre sowas zu realisieren. Es geht mir nur mal um eine Diskussion über die Logik dahinter. Mich würden Meinungen dazu interessieren.
Danke für die Aufmerksamkeit. ;)