# GUI Programmierung, MVC Design Pattern



## DarthShader (1. April 2007)

Hallo,

ich habe eine Frage, die mehr in Richtung Design Pattern / Programmarchitektur geht:

Bekanntlich verwendet man oft das Model-View-Controller Design Pattern (MVC, http://de.wikipedia.org/wiki/MVC), wenn man Programme mit GUIs erstellt. Manchmal verwendet man auch Document-View, auf jeden Fall sind die Daten (das Model) von der GUI getrennt.

Swing setzt dies ja auch schon um, indem es für fast jedes Component ein entsprechendes Model gibt (z.B. DefaultComboBoxModel). Wird der Status bzw. die Daten im Model geändert, so wird auch die View, also z.B. die ComboBox, entsprechend geändert. Für Leute, die viel GUIs programmiert haben, alles ein alter Hut.

Zur Sache:

Was ich mich jedoch gerade frage, ist ob es für jedes Fenster/jeden Dialog in meinem Programm ein eigenes Model geben sollte.
Ein Beispiel: Ich habe ein Fenster in meiner Applikation, welches in einer JTable alle zur Zeit geöffneten Dateien anzeigt. Sinnigerweise hat die JTable dann ein Model, welches die offenen Dateien beinhaltet. Was ist aber, wenn das Fenster, in dem das JTable ist, noch weitere Steuerelemente hat, Swing macht ja für jedes Steuerelement schonmal Default Models.
Ich frage mich aber: Sollte ich da jetzt mit n Models für das Fenster agieren, oder erstelle ich ein eigenes Model für das ganze Fenster (Nehmen wir an, das Fenster heißt "OpenDocumentsWindow", dann würde ich ein "OpenDocumentsWindowModel" erstellen)?

Macht das Sinn? Ist so eine vorgehensweise üblich?


Über ein paar Tipps von erfahrenen GUI Programmierern würde ich mich sehr freuen

Danke!


----------

