Anfang des Inhaltsbereichs

Hintergrunddokumentation MVC Design Pattern  Dokument im Navigationsbaum lokalisieren

Das Model-View-Controller (MVC) Design Pattern beinhaltet eine klare Trennung zwischen Verarbeitungskontrolle, Datenmodell und der Darstellung der Daten an der Oberfläche. Die formale Trennung dieser drei Bereiche wird über die drei Objekte Model, View und Controller realisiert. Somit können Sie komplexe Web-Anwendungen sehr einfach in logische Einheiten aufteilen.

Das Model dient als Anwendungsobjekt der Verwaltung der Anwendungsdaten. Es antwortet sowohl auf Informationsrequests über seinen Status, die meistens vom View kommen, als auch auf Anweisungen für Zustandsänderungen, die meistens vom Controller gesendet werden. Damit dient das Model allein der internen Datenverarbeitung, ohne auf die Anwendung mit ihrer Benutzungsoberfläche Bezug zu nehmen.
Zu einem Model kann es verschiedene Views geben, die durch verschiedene View-Seiten realisiert sind.

Der View behandelt die grafischen und textuellen Ausgaben auf der Oberfläche und stellt somit die Eingangs- und Ausgangsdaten in den jeweiligen Oberflächenelementen dar. Dies können beispielsweise Drucktasten, Menüs, Dialogfelder etc. sein. Damit kümmert sich der View um die Visualisierung. Zur Visualisierung des Zustandes stellt der View Anfragen an das Model, oder aber das Model informiert den View über mögliche Zustandsänderungen.

Der Controller interpretiert und überwacht die Maus- und Tastatureingaben des Benutzers und führt die Model- bzw. die View-Schicht dazu, sich bei Bedarf zu ändern. Eingabedaten werden weitergeleitet und Änderungen der Modelldaten werden eingeleitet. Der Controller verwendet die Methoden des Models, um den internen Zustand zu ändern und benachrichtigt daraufhin den View. Somit bestimmt der Controller die Reaktionen auf die Benutzereingaben und kontrolliert die Verarbeitung.

Der View und der Controller bilden gemeinsam die Benutzungsoberfläche.

Da das Model weder die Views noch die Controller kennt, ist die interne Datenverarbeitung von der Benutzungsoberfläche abgekoppelt. Änderungen in der Benutzungsoberfläche haben also keine Auswirkung auf die interne Verarbeitung der Daten und der Datenstruktur. Damit wird jedoch auch die Möglichkeit eröffnet, gleichzeitig die Daten mehrfach unterschiedlich darstellen zu können, z. B. die numerischen Prozentzahlen eines Wahlergebnisses als Tabelle, als Balken- oder Tortendiagramm.

Weitere Informationen über das MVC Design Pattern finden Sie im Internet und in der gängigen Fachliteratur.

Ende des Inhaltsbereichs