Home       Servicebereich  Projekte  Kontakt  

Das Model-View-Controller Paradigma kann in einer Web Applikation, einfach mit Hilfe von drei Hauptklassen abgebildet werden. Die Controller Klasse implementiert den Controller, während die Action Klasse in Verbindung mit dem Datenbankmodell die Business- Logik abbildet. Die Ausgabe wird von der Display Klasse in Verbindung mit der Template Engine erzeugt.

Implementierung des MVC Patterns in Web Applikationen

Requestverarbeitung

Controller

Der vom Browser kommende Request wird zuerst von der Controllerklasse bearbeitet. Diese Klasse bzw. ein Objekt dieser Klasse extrahiert die mit dem Request übergebenen Parameter. Die Entscheidung welche Action aufgerufen werden soll, kann durch einen übergebenen Parameter (z.B. CA für "current action") oder durch den URI selbst festgelegt werden (s.a. "CGI Parameter"). Dann wird ein Actionobjekt erzeugt und diesem die Parameter aus dem Request übergeben. Auf dem Action- Objekt wird dann die jeweils benötigte Methode aufgerufen.

Action

Die jeweilige Action Methode verarbeitet die Daten und speichert diese gegebenenfalls in der unterliegenden Datenbank. Die Action entscheidet auch, welches Display zur mit dem Response zurückgeliefert werden soll. Die Controllerklasse legt bei der Analyse des Requests Action und Display auf den gleichen Methodennamen. Das Actionobjekt kann diesen mit einem anderen Wert überschreiben. Nach Verarbeitung der Action wird die Kontrolle an den Controller zurückgegeben.

Display

Nachdem die Kontrolle von der Actionklasse an den Controller zurückgegeben wurde, erzeugt dieser ein Displayobjekt und ruft die entsprechende Methode auf. Das Displayobjekt setzt im Templateobjekt diverse Variablen zur Steuerung der Anzeige. Dieses kann z.B. ein Array sein, über das im Template iteriert wird um eine Liste von Werten anzuzeigen. Wenn notwendig werden zusätzliche Daten mit Hilfe der Action- Klasse ermittelt.

Zum Schluß wird die Kontrolle wieder an das Controllerobjekt zurückgegeben.

Response erzeugen

Template Engine

Die Template Engine erzeugt die Response- Seite. In der Regel wird eine entsprechende Methode aufgerufen, die den Content der Seite einfach nach STDOUT schreibt.


< zurück  | weiter >