Model-View-Controller (MVC)
MVC trennt die Zuständigkeiten für Zustand, Darstellung und Eingabe innerhalb einer Benutzeroberfläche.
- ModelZustand und Anwendungsdaten bereitstellen.
- ViewZustand für Personen darstellen.
- ControllerEingabe in Aktionen überführen.
Einordnung
Warum das wichtig ist
MVC-Rollen bei der Gestaltung einer Benutzeroberfläche zuordnen und Änderungen entlang der UI-Grenze prüfen.
UI-Muster: Das konkrete Zusammenspiel der Rollen hängt vom Framework ab.
MVC-Rollen im Checkout
View, Controller und Model strukturieren den Checkout; die sieben Shopmodule bleiben fachlich geschnitten.
So liest du das Bild
- Model Zustand
- View Darstellung
- Controller Eingabe
| Kriterium | Zuständigkeit | Entscheidung |
|---|---|---|
| Eingabeaktion | Controller startet Bestellablauf. | UI-Aufgabe |
| Fehlerhinweis | View zeigt Ergebnis. | UI-Aufgabe |
Nutzen & Grenzen
Hilft, wenn
- Eine Oberfläche bündelt Anzeige, Zustand und Eingabe zu einer schwer änderbaren Einheit.
- UI-Verhalten lässt sich pro Rolle getrennt prüfen und weiterentwickeln.
Grenzen
- MVC wird als vollständige Systemarchitektur interpretiert.
- Frameworks nennen Rollen unterschiedlich oder teilen sie auf mehrere Laufzeitbausteine auf.
In der Praxis
- Verfolge eine UI-Aktion vom Ereignis der View bis zum dargestellten Ergebnis und markiere Controller-Entscheidung sowie Modelländerung. Notiere den Vertrag zum Bestellmodul, den die Oberfläche tatsächlich benötigt.
- Prüfe, ob eine Änderung nur Darstellung oder Eingabe betrifft oder eine fachliche Regel verändert. Lege fachliche Entscheidungen im zuständigen Modul ab und halte den Controller bei Ablaufkoordination.
- Teste Eingabevalidierung und Darstellung getrennt und ergänze einen Ablaufstest für die Verbindung. Prüfe, dass die View weder Bestellregeln noch Datenbankschreiboperationen übernimmt.
Ausführliche Erklärung lesen
Das Model liefert Anwendungszustand und Verhalten; die View stellt ihn dar; der Controller verarbeitet Eingabe und veranlasst Aktionen. Frameworks variieren die genaue Zuordnung.
MVC beschreibt eine Interaktionsstruktur an der UI-Seite. Es bestimmt weder eine vollständige Schichtenarchitektur noch fachliche Modulgrenzen.
Die Oberflächenrollen ergänzen die Schichtenarchitektur und liegen innerhalb der Fachmodule des modularen Monolithen.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Welche Rolle verarbeitet „Bestellen“?
Lösung mit Begründung ansehen
Der Controller.
AnwendenAuf eine neue Lage übertragen
Wo werden Validierungsfehler für den Kunden angezeigt?
Lösung mit Begründung ansehen
Die View stellt das vom Ablauf gelieferte Ergebnis dar.
BewertenEine Alternative abwägen
Wann grenzt MVC allein nicht ausreichend ab?
Lösung mit Begründung ansehen
Wenn fachliche Modulverantwortung und Abhängigkeitsrichtung zu entscheiden sind.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.
Quellen
- Krasner & Pope · Smalltalk-80 MVC (öffnet in neuem Tab)Primärbeschreibung des MVC-Paradigmas in Smalltalk-80.
- Microsoft · N-tier architecture style (öffnet in neuem Tab)Erläutert Schichten und Trennung von Zuständigkeiten.
- Martin Fowler · Presentation Model (öffnet in neuem Tab)Fachliche Einordnung der Darstellungsschicht.