Model View Controller Pattern
Das Model View Controller (kurz MVC)-Pattern ist ein Architekturmuster bzw. Entwurfsmuster, das einen flexiblen Programmentwurf bietet, eine spätere Änderung oder Erweiterung erleichtert und eine Wiederverwendbarkeit der einzelnen Komponenten ermöglicht.
Das MVC-Pattern findet bei Anwendungen mit grafischer Benutzeroberfläche Verwendung. Es teilt das Programm in drei grundlegende Bestandteile: Das Model (MVC) verwaltet die Datenstruktur der Anwendung, Views sorgen für die grafische Oberfläche zur Nutzerinteraktion (MVC) und die Controller stellen die Programmlogik (MVC) bereit.
Model View Controller Pattern - Aufbau und Funktion
Anwendungen, welche nach den Prinzipien von MVC gestaltet werden, bestehen aus drei austauschbaren Komponenten. Das Model besteht aus mehreren Model-Klassen. Jede repräsentiert eine grundlegende Einheit innerhalb der verwendeten Datenstruktur. Sie stellen darüber hinaus grundlegende Datenperationen zur Verfügung, welche nicht der prinzipiellen Programmlogik zugehörig sind. Beispiele dafür wären die Suche gewisser Inhalte oder das Hinzufügen und Löschen von Daten.
View-Klassen stellen die grafische Benutzeroberfläche bereit. Die Model-Klassen stellen die angezeigten Daten zur Verfügung, eine direkte Verbindung zwischen den beiden Programmteilen existiert allerdings nicht. Der Controller informiert die Bestandteile der Oberflächendarstellung über Änderungen am Model und diese passen die angezeigten Inhalte bei Bedarf an.
Die Controller-Klassen fungieren als Verbindungsstück zwischen View- und Model-Bestandteilen. Aktionen der Nutzer leitet der View zum Controller weiter, welcher die dahinterstehende Programmlogik ausführt. Die Logik informiert einzelne Views im Bedarfsfall über Änderungen am Model, um eine passende Reaktion auf diese zu ermöglichen.
Model View Controller Pattern - Vorteile und Nachteile
Das MVC-Pattern bietet eine Reihe von Vorteilen, hat jedoch auch einige Nachteile. Im Folgenden werden beide Seiten beleuchtet.
Model View Controller Pattern - Vorteile von MVC
- Bessere Wartbarkeit: Durch die Trennung der Komponenten ist der Code leichter zu verstehen und zu ändern.
- Wiederverwendbarkeit: Komponenten wie das Model können in verschiedenen Projekten wiederverwendet werden.
- Flexibilität: Die Trennung erlaubt es, die Darstellung (View) zu ändern, ohne die Logik (Model) anpassen zu müssen.
Model View Controller Pattern - Nachteile von MVC
- Komplexität: Das Einhalten des MVC-Patterns kann für kleine Projekte überdimensioniert sein.
- Lernkurve: Entwickler müssen das Pattern gut verstehen, um es effizient einsetzen zu können.
- Zusätzlicher Aufwand: Das Implementieren der Trennung erfordert oft mehr Entwicklungszeit.
MVC-Pattern in der Datenbankentwicklung
Die Einkaufsabteilung eines Lebensmittelladens muss auf Knopfdruck in Erfahrung bringen, wie viele der gelagerten Produkte abgelaufen sind und nachbestellt werden müssen.
Nahrungsmittel besitzen jeweils (stark vereinfacht) einen Namen und ein Mindesthaltbarkeitsdatum. Dies stellt das Model dar. Der View beinhaltet zu beginn eine leere Liste und einen Button. Die Betätigung des Buttons veranlasst den Controller, alle Artikel aus dem Model zu laden und auf deren Verfallsdatum zu prüfen.
Er instruiert die Datenbank, die betreffenden Artikel zu entfernen. Diese Änderung wird dem View mitgeteilt, welcher sie als auszusortieren in der Liste darstellt.
Model View Controller Pattern - Definition & Erklärung - Zusammenfassung
Im Zusammenhang mit dem Lexikoneintrag Model View Controller Pattern sollte man sich folgende Punkte merken:
- Das MVC-Pattern teilt eine Anwendung in Model, View und Controller auf.
- Die klare Struktur erleichtert die Erweiterung und Anpassung der Software.
- Das Model View Controller Pattern wird in der Datenbank-, Web-, Desktop- und mobilen Anwendungen verwendet