Lexikon: M
MVC Model View Controller
MVC steht für "Model-View-Controller". Es handelt sich dabei um ein Entwurfsmuster, das insbesondere in der Softwareentwicklung für grafische Benutzeroberflächen sowie Webanwendungen verwendet wird. Das Muster zielt darauf ab, die Geschäftslogik (Model), die Benutzeroberfläche (View) und die Benutzereingaben (Controller) voneinander zu trennen, um eine saubere Trennung von Anliegen (Separation of Concerns) zu gewährleisten.
Hier ist eine kurze Beschreibung jeder Komponente:
Model (Modell):
- Repräsentiert die Daten und die Geschäftslogik der Anwendung.
- Es informiert die View über Änderungen an den Daten, damit die View aktualisiert werden kann.
- Es wird vom Controller aktualisiert, wenn aufgrund einer Benutzereingabe eine Änderung der Daten erforderlich ist.
View (Ansicht):
- Zeigt Daten aus dem Model für den Benutzer an.
- Es handelt sich um die grafische Darstellung oder Benutzeroberfläche, mit der der Benutzer interagiert.
- Es wird darüber informiert, wenn sich die Daten im Model ändern, und aktualisiert sich entsprechend.
Controller (Steuerelement):
- Empfängt Benutzereingaben von der View.
- Verarbeitet diese Eingaben, indem er ggf. Änderungen am Model vornimmt.
- Es fungiert als Mittler zwischen Model und View.
Das Hauptziel des MVC-Musters ist es, die Entwicklung und Wartung von Anwendungen zu erleichtern, indem klare Grenzen zwischen verschiedenen Arten von Aufgaben und Logiken gezogen werden. Indem jedes Segment des Codes eine spezifische Aufgabe hat und von den anderen Segmenten isoliert ist, können Entwickler an einem Bereich (z.B. der Benutzeroberfläche) arbeiten, ohne die anderen Bereiche (z.B. die Datenbanklogik) zu beeinflussen.
In der Praxis wurde das MVC-Muster als Grundlage für viele Frameworks und Bibliotheken in verschiedenen Programmiersprachen und -plattformen verwendet, insbesondere in Webentwicklungsframeworks wie Django (Python), Rails (Ruby), Spring MVC (Java) und vielen anderen.