Model-View-Controller Pattern

Das Model-View-Controller Pattern wird öfters auch mit MVC abgekürzt. Jede Einheit hat klar definierte Aufgaben. Das Model enthält die Daten, die View stellt diese dar und der Controller vermittelt zwischen den beiden Einheiten.

Eingeführt wurde dieser Patterns bei grafischen Anwendungen für Desktop Applikationen. In den letzten Jahren ist es aber auch bei Web Applikation sehr populär geworden.

Ein bekanntes Beispiel für ein Web Framework welches mit MVC arbeitet ist CakePHP.

Ein einfaches Beispiel wäre ein Benutzerprofil. In einer Tabelle werden Name, E-Mail und Passwort eines Users gespeichert. Der User sieht auf einer Webseite seine Daten und kann diese auch bearbeiten. Diese Aufgabe übernimmt die View. Wenn der User seine Änderungen speichern will überprüft der Controller ob sich die Benutzerdaten geändert haben, falls ja übergibt er die Daten dem Model welche den Datenbankeintrag aktualisiert.

Drawing1

Der Vorteil liegt daran, dass die Dateien komplett unabhängig von ihrer Darstellung sind. Das Benutzerprofil könnte über eine Webseite oder über ein Mobile App bearbeitet werden, der Controller definiert die Schnittstelle und das Model bleibt unverändert.

In der Java Welt fällt es öfters schwer Controller und View voneinander zu trennen weil diese eng miteinander verbunden sind. Deswegen spricht man hier öfters von einen Delegate.

 

Schreibe einen Kommentar