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:

TeilAufgabe
ModelSpeichert Daten, enthält Logik, greift z. B. auf Datenbanken zu
ViewZeigt dem Benutzer Informationen an (z. B. HTML, GUI)
ControllerReagiert auf Benutzereingaben und steuert, was passieren soll

Ablauf (vereinfacht)

  1. Benutzer klickt auf etwas (z. B. Button)
  2. View meldet das an den Controller
  3. Controller reagiert und verändert das Model
  4. Das Model liefert neue Daten zurück
  5. 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

RolleEntspricht im MVCBeispiel
Du klickst „Play“ViewDie App-Oberfläche zeigt den Play-Button
Der Klick wird verarbeitetControllerDer Controller startet den Song
Der Song & InfosModelDie Daten: Song-Titel, Länge, Datei usw.
Anzeige des SongsView„Now Playing: Never Gonna Give You Up“

Vorteile von MVC

  1. Wartbarkeit
    → Du kannst z. B. das Design ändern, ohne die Logik anfassen zu müssen.
  2. Erweiterbarkeit
    → Du kannst neue Funktionen einbauen, ohne alles umzuschreiben.
  3. 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.