Model View Controller?

MVC … Sicher haben Sie diese Abkürzung auch schon mal gesehen oder gehört. Doch was verbirgt sich wirklich dahinter, wenn man einmal von der WikiPedia-Beschreibung absieht?

MVC - Model View Controller - was ist das?

Früher gab es das EVA-Prinzip: Eingabe-Verarbeitung-Ausgabe. Für die damaligen Verhältnisse war das auch ganz gut. Heute stellt man sich die Frage: Eingabe, gut und schön, aber worein denn? Und wie sieht die Maske dann aus? Und was für eine Ausgabe denn? Da muss doch irgendwas zwischendrin passieren." Richtig!

Model

“Model” steht für ein Datenmodell. Im IT-Fachjargon nennt man das scherzhaft auch “Töpfchenbild”, denn es zeigt die einzelnen Tabellen und deren Verbindungen in einer Datenbank als kleine “Dosen”. Das Interessante dabei ist, dass das Datenbankprogramm für ein “Modell” noch gar nicht festgelegt sein muss. Das kann ein Microsoft-Produkt werden, eine Oracle-Datenbank oder auch MySQL oder PostgreSQL. Und das Modell selbst enthält auch (noch) gar keine Daten – es ist nur das “Gefäss”, in das die Daten eingefüllt werden können.

View

Die Eingabe oder Bearbeitung von Daten erfolgt dann (ebenso wie die Ausgabe) über so genannte “Views”. Hier werden die Daten dargestellt, wie wir wirklich damit arbeiten wollen. Es entsteht eine Benutzersicht – auch oft irreführend als “Use-Case” bezeichnet - dabei ist ein Use-Case wesentlich umfassender. Die Gestaltung der gesamten Oberfläche fällt in diesen Bereich, auch die Entscheidung, ob etwas im Internet-Browser oder als ausführbares Programm auf dem PC oder Mac laufen soll. Auch eine mobile Darstellung wird hier berücksichtigt.

Controller

Ein vollständiger Use-Case besteht also nicht nur aus einer “Sicht” auf die Daten, sondern auch aus Abläufen, Funktionen und Prozessen. Um einen Use-Case sauber erstellen und pflegen zu können, trennt man die Oberfläche und die dahinter liegenden Funktionen sauber voneinander. Der Teil, den der Anwender dann nicht zu sehen bekommt, ist dann der “Controller”.

Sie sehen also: Nur nicht nervös machen lassen – MVC ist ein für Sie als Kunden sauberes Konzept. Das beste Argument ist zum Beispiel immer, dass Daten in einer Datenbank auch von anderen Programmen abgefragt werden können, als nur von der dafür programmierten Anwendung. Dies ist flexibel und macht unabhängig.