MVC ist ein Entwurfsmuster, das eine Anwendung in drei Teile trennt: das Model für die Daten, die View für die Darstellung und den Controller für die Steuerung. Trygve Reenskaug hat es 1979 am Xerox PARC für die Sprache Smalltalk beschrieben.
- MVC
Ein Entwurfsmuster, das Datenhaltung, Darstellung und Ablaufsteuerung einer Anwendung voneinander trennt.
Beispiel: „Nach dem Muster MVC holt der Controller die Termine aus dem Model und reicht sie an die View weiter, die die Liste anzeigt.“Auch: Model-View-Controller, auf Deutsch etwa Modell, Ansicht und Steuerung.
Wie MVC in Web-Frameworks funktioniert
Eine Anfrage kommt beim Controller an, etwa der Aufruf von /termine. Er fragt das Model nach den passenden Daten, das Model holt sie aus der Datenbank, und der Controller übergibt sie an die View. Die View setzt daraus die HTML-Seite zusammen.
Laravel, Ruby on Rails, Symfony und viele weitere Frameworks folgen diesem Ablauf, auch wenn sie im Detail eigene Wege gehen.
Warum die Trennung nach MVC hilft
Jeder Teil lässt sich ändern, ohne die anderen anzufassen. Ein neues Design betrifft die Views, eine neue Datenbankspalte das Model, und die Logik dazwischen bleibt, wo sie ist.
Außerdem lassen sich die Teile getrennt testen, und mehrere Leute können parallel daran arbeiten, ohne sich ständig in die Quere zu kommen.
Was nach MVC kam
Für Oberflächen im Browser haben sich Varianten wie MVVM durchgesetzt, bei denen die Ansicht über Datenbindung direkt an ein Modell gekoppelt ist. Komponentenbasierte Frameworks wie React lösen die Trennung anders und bündeln Darstellung und Verhalten in einer Komponente.