MVC
Model View Controller (kurz: MVC) ist ein Paradigma, ein Muster zur Unterteilung einer Software in drei Bereiche.
Beschreibung
- Enthält drei Bereiche:
- model (Datenmodell)
- view (Präsentation)
- controller (Datensteuerung)
- Ziele des Konzepts sind:
- flexibler Programmentwurf
- Erleichterung späterer Änderungen oder Erweiterungen
- Wiederverwendbarkeit
Architektur
Model
- Enthält Daten
- Unabhängig von Präsentation und Steuerung
- Änderungen der Daten werden durch den Viewer bekanntgegeben
- Manchmal übernimmt eine Geschäftslogik die Änderung der Daten
View
- Zuständig für die Darstellung der Daten und die Realisierung von Benutzerinteraktionen
- Nicht zuständig für die Verarbeitung der Daten
- Unabhängig von der Steuerung
Controller
- Verwaltet Präsentation und Modell
- Wird von der Präsentation über Benutzerinteraktionen (mithilfe des Viewers) informiert
- Nimmt Auswertungen vor, Anpassungen in der Präsentation, Änderungen der Daten im Modell
- In modernen Variationen übernimmt die Geschäftslogik die Änderung
Heutige Umsetzungen
- Model-View-Presenter
- Besteht aus den drei Komponenten: Model, View, Presenter
- Modell und Ansicht sind komplett getrennt
- Präsentierer stellt die Verbindung her
- Model-View-ViewModel
- Besteht aus den drei Komponenten: Model, View, ViewModel
- Beinhaltet ein Datenbundungsmechanismus
- ViewModel enthält Benutzerinterface-Logik und dient als Bindeglied zwischen Model und View