Java Reference
In-Depth Information
sich der Controller also ebenfalls beim Model anmelden, damit er bei einer Zustands-
oder Datenänderung benachrichtigt wird.
Werden die Daten im Model geändert, gibt es zwei unterschiedliche Methoden, eine
View über eine Änderung zu informieren:
x Die erste Möglichkeit ist die Verwendung eines sogenannten Passive Model . Dabei
informiert der Controller die Views über eine erfolgte Änderung. Auf das Passive
Model soll in diesem Buch nicht eingegangen werden.
x Bei der zweiten Möglichkeit, dem in diesem Kapitel verwendeten Active Model , ist
es die Aufgabe des Model, seine Views über eine Änderung der Daten des Model
zu informieren. Um diesen Kommunikationsfluss mit einer möglichst geringen Ab-
hängigkeit zwischen dem Model und seinen Views bereitzustellen, kann das Beob-
achter-Muster (siehe Kapitel 4.11) verwendet werden. Im Active Model gibt es hier-
zu den Pull- und den Push-Betrieb:
- Im Push-Betrieb sendet das Model die Daten an die View. Dabei werden die Da-
ten als Übergabeparameter bei der Benachrichtigung der View durch das Model
mitgegeben. Diese Lösung ist schlecht wiederverwendbar, da die entsprechen-
den Methoden zu speziell ausgeprägt werden müssen.
- Im Pull-Betrieb informiert das Model die View nur, dass neue Daten vorliegen.
Daraufhin holt die View die neuen Daten beim Model ab.
Im Folgenden soll der Pull-Betrieb des Active Model vertieft werden.
Die Aufgaben des Model im MVC-Muster sind im Pull-Betrieb des
Active Model:
x Geschäftsprozesse (ohne Ein- und Ausgabe) und Speicherung
der Daten durchführen.
x Die An- und Abmeldung von Views entgegennehmen.
x Angemeldete Views über geänderte Daten informieren.
x Eine Aufrufschnittstelle für das Abholen von Daten durch die
Views bzw. Controller bereitstellen.
x In der View eingegebene Daten von Controllern entgegenneh-
men.
Die View
Die View dient zur Darstellung der Daten des Model. Verschiedene Views können dem
Benutzer dieselben Daten auf unterschiedliche Weise präsentieren. Wenn die Daten
im Model geändert werden, so aktualisieren sich alle Views, die diese Daten anzeigen.
Zum Beispiel können Messdaten in einer bestimmten View in einem Balkendiagramm
angezeigt und in einer anderen View aber in einem Kreisdiagramm dargestellt werden.
Dies ist im folgenden Bild symbolisiert:
Search WWH ::




Custom Search