Model View Controller (MVC) ist ein Entwurfsmuster für die Realisierung von GUI-Komponenten mit Hilfe objektorientierter Programmierung. Demnach besitzt jede grafische Komponente drei Bestandteile, die jeweils durch eine eigene Klasse repräsentiert werden:
- Das Modell (model) enthält die anzuzeigenden Daten (Listeneinträge, Text, die Beschriftung einer Schaltfläche usw.). Von außen kann man die Daten über dafür vorgesehene Methoden erfragen und Änderungswünsche bekannt geben, die vom Modell allerdings auch abgelehnt werden können.
- Die Ansicht (view) stellt die Daten in der Oberfläche dar, sie ist der sichtbare Teil der GUI-Komponente im MVC-Muster und für die Erscheinung (Größe, Farbe, Position usw.) zuständig. Die anzuzeigenden Daten werden durch die Ansicht vom Modell erfragt.
- Die Steuerung ( controller) empfängt Benutzeraktionen (Tastatureingaben, Mausklicks usw.) und verarbeitet sie in Form von Botschaften an Ansicht und Modell.