Zum Inhalt springen

MVC (Model-View-Controller)

oder auch Model-View-Controller

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 08.11.2026

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.

Oben von links Browser, Controller und Model, unter dem Controller die View. Fünf nummerierte Pfeile führen vom Aufruf im Browser über Controller, Model und View zurück zur fertigen Seite im Browser.
Weil jeder Teil nur eine Aufgabe hat, lässt sich die Darstellung ändern, ohne Model oder Controller anzufassen.

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.

Siehe auch:

Laravel

Ein PHP-Framework für Webanwendungen, bekannt für seine lesbare Schreibweise und sein Ökosystem.

#Programmiersprachen

Ruby on Rails

Ein Framework für Webanwendungen in Ruby, das Konvention vor Konfiguration populär gemacht hat.

#Programmiersprachen

ORM (Object-Relational Mapping)

Eine Technik, die Datenbanktabellen als Objekte im Code abbildet.

#Programmiersprachen

Objektorientierte Programmierung (OOP)

Ein Programm nach den Dingen ordnen, um die es geht, statt nach den Arbeitsschritten.

#Programmiersprachen

Symfony

Ein PHP-Framework aus wiederverwendbaren Komponenten, auf dem viele andere Systeme aufbauen.

#Programmiersprachen

Framework

Gibt den Aufbau einer Anwendung vor und ruft deinen Code an den vorgesehenen Stellen auf.

#Programmiersprachen