Java Reference
In-Depth Information
5.6 Das Architekturmuster Model-View-Controller
Das Architekturmuster Model-View-Controller trennt ein interaktives System in die
Komponenten Model (Verarbeitung/Datenhaltung), View (Ausgabe) und Controller
(Eingabe). Das Model hängt dabei nicht von der Ein- und Ausgabe ab.
5.6.1 Name/Alternative Namen
Model-View-Controller 111 (MVC).
5.6.2 Problem
Die Benutzerschnittstelle eines Systems wird besonders häufig geändert. Sie soll des-
halb leicht - sogar zur Laufzeit - ausgetauscht werden können, ohne dass das rest-
liche Programm dadurch geändert werden muss. Auf der Bedienoberfläche soll ein
und dieselbe Information in verschiedener Form dargestellt werden können. Dabei sol-
len Änderungen an den Daten des Systems gleichzeitig in allen Darstellungen sichtbar
sein.
5.6.3 Lösung
Eines der bekanntesten Architekturmuster ist das Model-View-Controller-Architek-
turmuster - kurz MVC . Es kann als "prägender Gedanke" bei der Erstellung von inter-
aktiven Systemen angesehen werden. Ursprünglich wurde das MVC-Architekturmuster
in den späten 70er Jahren von Trygve Reenskaug für die Smalltalk-Plattform ent-
wickelt [Fow03]. Seitdem wurde es in vielen GUI-Frameworks verwendet.
Mit dem Architekturmuster MVC ist es möglich,
x die Datenhaltung und Verarbeitung ,
x die Präsentationslogik ( Darstellung ) sowie
x die Benutzereingaben
in getrennten Komponenten zu realisieren. Das MVC-Architekturmuster beschreibt,
wie die Daten und ihre Verarbeitung im Model , die Darstellung der Daten in einer View
und die Interpretation der Eingaben des Benutzers im Controller voneinander getrennt
werden, wobei die Komponenten Model, View und Controller dennoch einfach mitei-
nander kommunizieren können. Views und Controller bilden zusammengenommen
das User Interface (UI).
Die verschiedenen Funktionen eines Programms in verschiedenen Teilen einer Lö-
sung zu realisieren, ist ein generelles Bestreben in der Programmentwicklung ( Tren-
nung der Belange , engl. separation of concerns , siehe Kapitel 1.3). Daher sollten
die Datenhaltung/Verarbeitung, die Präsentationslogik sowie die Interpretation der Be-
nutzereingaben in jeweils eigenen Komponenten getrennt programmiert und unterei-
nander nicht vermischt werden. Dies verbessert die Struktur des Quelltextes und somit
111 In diesem Kapitel werden die engl. Fachbegriffe "Model" und "View" anstelle der deutschen Begriffe
"Modell" und "Ansicht" verwendet. Das Wort Controller steht aber bereits im deutschen Wörterbuch.
Search WWH ::




Custom Search