Java Reference
In-Depth Information
Der Controller interpretiert die Aktionen des Benutzers und entscheidet, welche Metho-
den des Model aufgerufen werden sollen. Er fordert das Model damit auf, eine Ände-
rung seines Zustandes oder seiner Daten durchzuführen.
Des Weiteren kann die durch ein Ereignis ausgelöste Aktion es erfordern, dass die
View angepasst werden muss, weil beispielsweise Kontrollelemente zu aktivieren oder
zu deaktivieren sind. Die entsprechende Benachrichtigung einer View wird ebenfalls
vom Controller nach der Interpretation eines Ereignisses vorgenommen. Wie bereits
erwähnt, hat jede View genau einen Controller, aber ein Controller kann mehrere
Views bedienen.
Die Aufgaben eines Controllers im MVC-Muster sind im Active
Model:
x Bedienereingaben von der View entgegennehmen.
x Die View gemäß den Bedienereingaben steuern.
x Von der View erhaltene Daten dem Model übergeben.
5.6.3.2 Klassendiagramm
Ein Klassendiagramm für das MVC-Muster ist beispielhaft in Bild 5-44 zu sehen. Dem
MVC-Muster liegen meist die Entwurfsmuster Beobachter, Kompositum und Strategie
zugrunde. Es ist aber auch möglich, im MVC-Muster noch weitere Entwurfsmuster ein-
zubauen. In seiner grundlegenden Form setzt sich das Klassendiagramm des MVC-
Musters somit aus den Klassendiagrammen der Entwurfsmuster Beobachter, Kompo-
situm und Strategie zusammen. Der Einsatz dieser Entwurfsmuster im MVC-Muster
wird in Kapitel 5.6.3.4 ausführlich diskutiert.
5.6.3.3 DynamischesVerhalten
Im MVC-Muster sind die Model-, View- und Controller-Objekte durch Protokolle ent-
koppelt. Ein View-Objekt muss sicherstellen, dass es den aktuellen Zustand seines
Model-Objekts wiedergibt. Realisiert wird dies, indem das Model die von ihm abhän-
gigen Views über eine Änderung seiner Daten unterrichtet. Die Views bringen sich da-
raufhin in einen konsistenten Zustand. Dieser Ansatz beruht auf dem Beobachter-
Muster und ermöglicht es, einem Model mehrere Views zuzuordnen. Zudem können
neue Views entwickelt werden, ohne das Model umschreiben zu müssen.
In Bild 5-40 soll das Zusammenspiel der Komponenten Controller, Model und View(s)
von der Anmeldung der View(s) beim Model ( anmelden() ) bis zur Aktualisierung der
Daten in der View bzw. den Views betrachtet werden. Bei einem Vergleich mit Bild
4-35 (Sequenzdiagramm des Beobachter-Musters) fällt auf, dass der in Bild 5-40 dar-
gestellte Ablauf zwischen Model und View exakt dem des Beobachter-Musters ent-
spricht. Darauf wird in Kapitel 5.6.3.4 noch genauer eingegangen. Hier das bereits er-
wähnte Sequenzdiagramm:
Search WWH ::




Custom Search