Model View Controller

Was ist ein Model View Controller?

Das Konzept des Model View Controller wird im Bereich moderner Softwareentwicklung eingesetzt.

Das MVC-Konzept im Detail:

Das MVC-Konzept ist ein Entwurfsmuster für Softwarearchitektur. Der Softwarearchitektur-Ansatz des Model View Controllers besteht in der strikten Aufgabenverteilung für Anwendungen.

Konzept der Model View Controller Architektur

Das Model View Controller Konzept wird für die agile Entwicklung moderner Software genutzt. Der Ansatz des Model-View-Controllers besteht in der strikten Aufgabenverteilung für Anwendungen: Das Model liefert Daten und informiert den View über Änderungen. Der View visualisiert Daten und Grafik der Softwareanwendung. Der Controller des MVC definiert Logik und Verhalten der Softwareapplikation.

Wie funktioniert ein MVC-Design?

Im Model-View-Controller Konzept ist die Trennung von Logik, Datenquelle und Visualisierung konsequent realisiert.

Rollen und Aufgaben im Model View Controller Konzept

Die Aufgaben von Model, View und Controller sind im MVC-Architekturkonzept strikt voneinander getrennt:

1. Model

Das Model übernimmt die Rolle der Datenquelle; wobei das Modell die Daten unabhängig von Typ und Art der Datenbank bereitstellt. Damit ist das Modell verantwortlich für das Domänenwissen der Applikation.

2. View

Der View zeigt diese Daten und visualisiert die digitalen Informationen in passender Art und Weise. Somit bestimmt eine View im Model View Controller Konzept den »Look & Feel« der Software. Dabei ist die View in der Anzeige der Daten unbeeinflusst vom Model. Ein View übernimmt folglich die grafische Darstellung der Domain Objekte.

3. Controller

Der Controller ist die Logik der Anwendung. Die Aufgabe des Controllers ist es jede Interaktion mit dem Benutzer zu regeln. Somit bestimmt der Controller das Verhalten der Komponenten. Jede Veränderung von Daten meldet der Controller direkt dem Model und das Model wiederum informiert die View die Datenaktualisierung zu visualisieren.

Model View Controller Pattern - Softwaredesign mit strikt getrennter Logik, Visualisierung und Datenbank

Model View Controller Pattern – Softwaredesign mit strikt getrennter Logik, Visualisierung und Datenbank.

Vorteile der Model View Controller Architektur

Der Vorteil der Aufgabenverteilung einer Model View Controller Architektur ist zum einen die Aufteilung in logische, unabhängige Klassen. Damit ermöglicht eine Model View Controller Architektur agile Entwicklung, denn es besteht jederzeit die Option, jede der drei Komponenten auszutauschen.

Da die Visualisierung ausschließlich über den View geregelt ist, besteht folglich die Möglichkeit das Look & Feel einer Softwareanwendung zur Laufzeit auszutauschen.

Damit ermöglicht eine Model-View-Controller Architektur den gezielten Einsatz von Spezialisten für die einzelnen Teilaufgaben:

  1. Design
  2. Datenbank
  3. Modellierung

Während der Designer als Spezialist für das optimale Look-and-Feel die Usability einer Software- oder Webanwendung optimiert, verantwortet der Datenbankexperte den schnellen Zugriff auf die Datenbank und eine sichere  Datenspeicherung.  Der Softwarearchitekt ist für die optimale Modellierung der Businesslogik – die Softwarearchitektur – zuständig.

Diese Pattern enthält das MVC-Konzept:

MVC ist ein architektonischer Stil, weil die Umsetzung des MVC-Konzepts tiefgreifende Auswirkungen auf ein Softwaredesign bewirkt. Das Model-View-Controller-Konzept wird auch als zusammengesetztes Entwurfsmuster bezeichnet, weil es oft zugleich mit folgenden Softwarepattern realisiert wird:

  • Strategy Pattern : Der Controller folgt einer Strategie wie Änderungen des Models Auswirkungen auf die Views haben.
  • Composite Pattern: Views sind häufig zusammengesetzte Composite-Strukturen.
  • Factory Pattern : Mitunter kann der View den Controller mittels Factory-Methode erzeugen.
  • Observer PatternViews – möglicherweise auch Controller – registrieren sich für Updates des Modells.
  • Mediator PatternEntwurfsmuster die eine MVC-Realisation erlauben bei denen das Modell und seine Views nichts voneinander wissen.
    • Das Model und die Views kennen lediglich den Connector-Controller

Zusammenfassung der Fakten des Model-View-Controller-Konzepts:

  • Trennung von Logik, Datenquelle und Visualisierung
  • logisch, unabhängige Klassen
  • ermöglicht agile Entwicklung
  • gezielter Einsatz von Experten für Design, Datenbank und Softwarearchitektur
  • Mehr als 90% aller Frameworks implementieren das Multi View Controller Konzept.

MVC-Design für zukunftsorientierte Softwareanwendungen:

Fazit: Ein MVC-Softwaredesign ist das ideale Architekturmodell für zukunftsorientierte Softwareanwendungen. Gerade moderne Webapplikationen eignen sich ideal zur Trennung von Programmlogik, Visualisierung und Datenhaltung. Model-View-Controller-basierte Entwurfsmuster gewährleisten somit eine agile Entwicklung von Software. Dementsprechend bietet cleveres Softwaredesign handfeste Vorteile für langfristige Investitionen in digitale Lösungen.

Jetzt lesen: Digitale Transformation – Wie Digitalisierungsprojekte gelingen!

Ähnliche Einträge

Zum Glossar

Neuer Artikel!