Designpatterns
MVC-Modell (Model-View-Controller)
Das MVC-Modell teilt eine Anwendung in Datenmodell, Benutzeroberfläche und Steuerung auf – für bessere Wartbarkeit und Struktur.
Was ist MVC?
MVC steht für:
- Model → Die Daten & Geschäftslogik
- View → Die Benutzeroberfläche (was der Benutzer sieht)
- Controller → Die Verbindungsstelle, die Eingaben verarbeitet und zwischen Model und View vermittelt
Ziel des MVC-Modells
Das MVC-Modell sorgt für eine klare Trennung von Verantwortlichkeiten:
| Teil | Aufgabe | 
|---|---|
| Model | Speichert Daten, enthält Logik, greift z. B. auf Datenbanken zu | 
| View | Zeigt dem Benutzer Informationen an (z. B. HTML, GUI) | 
| Controller | Reagiert auf Benutzereingaben und steuert, was passieren soll | 
Ablauf (vereinfacht)
- Benutzer klickt auf etwas (z. B. Button)
- View meldet das an den Controller
- Controller reagiert und verändert das Model
- Das Model liefert neue Daten zurück
- Die View zeigt die neuen Daten an
Das Ganze passiert bei jeder Interaktion – und weil alles getrennt ist, bleibt dein Code übersichtlich und leicht wartbar.
Beispiel aus dem Alltag: Musik-App
| Rolle | Entspricht im MVC | Beispiel | 
|---|---|---|
| Du klickst „Play“ | View | Die App-Oberfläche zeigt den Play-Button | 
| Der Klick wird verarbeitet | Controller | Der Controller startet den Song | 
| Der Song & Infos | Model | Die Daten: Song-Titel, Länge, Datei usw. | 
| Anzeige des Songs | View | „Now Playing: Never Gonna Give You Up“ | 
Vorteile von MVC
- Wartbarkeit
 → Du kannst z. B. das Design ändern, ohne die Logik anfassen zu müssen.
- Erweiterbarkeit
 → Du kannst neue Funktionen einbauen, ohne alles umzuschreiben.
- Teamarbeit wird einfacher
 → Designer, Entwickler & Datenbank-Profis können parallel arbeiten.
Schema
Benutzer → View → Controller → Model
                       ↑         ↓
                    Antwort ← Ergebnis
MVC trennt: was gezeigt wird (View), was passiert (Controller) und was gespeichert wird (Model) – das macht dein Projekt sauber, verständlich und professionell.