Eigenentwicklung

Model View Controller (cuidMVC)

Die volle Kontrolle

Der Begriff Modell-Präsentation-Steuerung (MPS) bzw. englisch Model-View-Controller (MVC) bezeichnet ein Architekturmuster zur Aufteilung von Softwaresystemen in die drei Einheiten: Datenmodell (engl. Model), Präsentation (engl. View) und Programmsteuerung (engl. Controller).

Ziel des Modells ist ein flexibles Programmdesign, um u.a. eine spätere Änderung oder Erweiterung einfach zu halten und die Wiederverwendbarkeit der einzelnen Komponenten zu ermöglichen. Außerdem sorgt das Modell bei großen Anwendungen für eine gewisse Übersicht und Ordnung durch Reduzierung der Komplexität.

Das MVC-Architekturmuster besteht aus drei Komponenten, die je nach Realisierung unterschiedlich stark voneinander abhängen:

  • Modell (model)
    Das Modell enthält die darzustellenden Daten. Woher die Daten kommen und wie diese zusammenhängen, spielt keine Rolle. So kann es sich hierbei um ein Datenmodell, Geschäftsmodell oder sogar um ein für die Präsentation abstrahiertes Modell handeln. Das Modell kennt weder die Präsentation noch die Steuerung, es weiß also gar nicht, wie, ob und wie oft es dargestellt und verändert wird.
  • Präsentation (view)
    Die Präsentation ist für die Darstellung der relevanten Daten aus dem Modell zuständig. Sie ist nicht für die Interaktion mit dem Benutzer verantwortlich (siehe Steuerung), sondern lediglich für die Beschaffung der Daten aus dem Modell, deren Darstellung und, bei Änderungen im Modell, die Darstellung passend zu aktualisieren. Je nach Design leitet sie auch Benutzeraktionen (oder: Events) an die Steuerung weiter.
  • Steuerung (controller)
    Die Steuerung verwaltet die Sicht(en), nimmt von ihnen Benutzeraktionen entgegen, wertet diese aus und agiert entsprechend. Sie enthält die Intelligenz und steuert den Ablauf (engl. Workflow) der Präsentation.

Zur Zeit steht der cuidMVC nur in einer Alpha-Version unter der GNU Public Licence für interessierte Entwickler zu Verfügung. Wir bitten Sie uns bei Interesse einfach zu kontaktieren.