Model-View-Controller

Das Model-View-Controller-Pattern ist ein Muster, welches aus der Welt der Anwendungen mit grafischem Benutzerinterface in die Welt der Web-Anwendungen übernommen worden ist.

Innerhalb von Desktop-Anwendungen ist es wichtig, die Darstellung, welche innerhalb von Fenstern in einem grafischen Benutzerinterface stattfindet, von den Daten selbst sowie der Applikationslogik zu trennen. Wird ein solcher Schritt nicht getan, so vermischen sich die drei Komponenten ineinander. Der Programmcode wird unübersichtlich. Weiterhin wird es so sein, dass die Datenrepräsentation schnell von den Programmteilen des Benutzerinterfaces abhängig werden, so dass sich diese nicht mehr separat kompilieren lassen, um eventuell in anderen Projekten zum Einsatz zu kommen. Gleiches gilt für die Logik der Anwendung, die eventuell später auch ohne ein grafisches Benutzerinterface ausgeführt werden soll. Weiterhin kann es sein, dass die Logik der Anwendung das Benutzerinterface während ihrer Ausführung blockiert und eine Umgehung dieses Umstandes schwer wird.

Web-Anwendungen erben diese Probleme. Aus diesem Grunde ist es ratsam in beiden Welten alle drei Module sorgsam zu trennen und eine Kommunikation zwischen den Modulen zuzulassen, wie Abbildung dies oben auf der Seite veranschaulicht.

Innerhalb einer Web-Anwendung ist die View-Komponente ausgelagert. Sie findet eigentlich auf Client-Seite im Browser statt. Als View wird deshalb in Web-Anwendungen, die keine aktiven clientseitigen Komponenten beinhaltet, das HTML-Interface bezeichnet. Alle Programmteile, die damit beschäftigt sind, HTML-Seiten zu erzeugen, können zum View gezählt werden. Das Model stellen die Datenkapseln dar, die die Daten der Webapplikation beinhalten. Dies können beispielsweise die Benutzerdaten sein oder die Beiträge, die ein Benutzer sieht oder bearbeitet oder auch Artikel, die ein Benutzer soeben einkauft. Im Controller-Teil befindet sich die eigentliche Programmlogik. Hier wird festgelegt, wie die Daten verarbeitet werden sollen. Beispielsweise erhält die Beitrags-Kapsel aus dem Model neue Texte, die der Benutzer im Browser eingegeben hat. Oder aber es wird eine Bestellung generiert, die auch einen bestimmten Bearbeitungsstatus hat, wenn der Nutzer der Webseite seinen Warenkorb bezahlt und zugeschickt bekommen möchte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert