Swing Anfängerfrage zum thema MVC

Enigma228

Bekanntes Mitglied
Ich habe jetzt 10 Jahre nicht mehr programmiert und leider viel zuviel vergessen.

Ich versuche jetzt strikt nach dem MVC Modell zu Programmieren.

Übungsziel ist es einen Kalender zu programmieren.

Ich habe über eine Controller-Klasse die View-Klasse gestartet und mit aktuellen Kalenderdaten gefüllt.
Nun wird in der View aber ein Button gedrückt ( z.B. nächster oder vorheriger Monat).

Wie schaffe ich es nun die Controller Klasse anzusprechen, um neue Daten abzufragen.

Gebe ich der View eine Instanz der Controller Klasse im Konstruktor mit oder muss ich Observer verwenden.

Oder bin ich mal wieder vollkommen auf dem Holzweg?

Vielen Dank im schon mal im Voraus für eure Geduld.
 
Das geht prinzipiell beides. Sowohl die Idee des Observers bei der sich der Controller einträgt oder die View kennt den Controller (oder das Interface, das es anbietet). Letzteres ist das, was üblich ist bei den typischen MVC Anwendungen wie z.B. Web Anwendungen.

Da bieten die Controller eine Art Interface ein. Das ist bei http Request halt Methode und ein Request Path. Und dies kennen die Views und können es gezielt aufrufen.

Bei UI Anwendungen fehlt diese Abstraktion von den Controllern, weshalb das aus meiner Sicht alles etwas suboptimal ist. Ich bevorzuge daher bei Desktop Anwendungen mit einer UI das MVVM Model, wo man halt zum Model noch ein ViewModel hat das dann direkt mit der View zusammen hängt. Das ViewModel kann dann z.B. auch die ganze Funktionalität mitbringen, die man für diese Bindings braucht.
 

Zurück
Oben