Model-View-Controller (MVC) ist ein Software-Architekturmuster, das Anwendungen in drei Hauptkomponenten unterteilt:
-
Model (Daten & Logik)
- Verwaltet die Daten und Geschäftslogik.
- Enthält die Regeln für die Verarbeitung der Daten.
- Unabhängig von der Benutzeroberfläche.
-
View (Benutzeroberfläche)
- Präsentiert die Daten des Models dem Benutzer.
- Stellt sicher, dass die Daten in einem verständlichen Format angezeigt werden.
- Reagiert auf Benutzeraktionen, indem sie Anfragen an den Controller weiterleitet.
-
Controller (Steuerung & Interaktion)
- Vermittelt zwischen Model und View.
- Nimmt Benutzereingaben entgegen, verarbeitet sie und aktualisiert das Model oder die View.
- Enthält keine Geschäftslogik oder Datenmanipulation selbst.
Wie funktioniert MVC in der Praxis?
- Der Benutzer interagiert mit der View (z. B. klickt auf einen Button).
- Der Controller verarbeitet die Eingabe und sendet eine Anfrage an das Model.
- Das Model führt die erforderliche Logik aus (z. B. Datenbankabfragen) und gibt das Ergebnis zurück.
- Die View wird aktualisiert, um die neuen Daten anzuzeigen.
Beispiel: Blog-System
- Model: Speichert Blogbeiträge in der Datenbank.
- View: Zeigt die Blogbeiträge in HTML an.
- Controller: Erfasst Benutzereingaben, z. B. das Absenden eines neuen Blogbeitrags, und leitet diese an das Model weiter.
Vorteile von MVC
✔ Bessere Wartbarkeit durch klare Trennung von Logik, UI und Steuerung.
✔ Wiederverwendbarkeit der Komponenten.
✔ Einfache Testbarkeit, da Logik vom Interface getrennt ist.
✔ Flexibilität, da verschiedene Views für dasselbe Model genutzt werden können.
Einsatzbereiche
MVC wird häufig in Webentwicklung und Desktop-Anwendungen verwendet, z. B.: