Mailinglisten-Archive |
Hallo Thorsten, Thorsten Koch wrote: > Liege ich damit jetzt falsch völlig falsch? Sind die Funktionalitäten > falsch verteilt? Sind drei Klassen zuviel und ich kann auch nur alles in > eine packen? > Hat jemand n einfaches Beispiel für MVC ? Das sieht doch eigentlich schon ganz gut aus. Nochmal schnell die "Aufgaben" der Komponenten: Das Modell verwaltet die Daten und propagiert Änderungen an diesen, der Controller ist für die Verwaltung und Interpretation der Eingabe zuständig - gleichzeitig aktualisiert er den View. Der View ist entsprechend für die Ausgabe zuständig. Alles in eine Klasse zu packen wäre hier der falsche Weg, denn dann machst du dabei den Vorteil eines MVC Frameworks kaputt, denn dann kannst du nicht einfach mal ein View durch ein anderes ersetzen, etc. Ausserdem werden so schön die Daten und die Darstellung dieser getrennt. Ich würde beim View also ne Methode update() einbauen, die automatisch die Sicht neuzeichnet. Das Problem ist in PHP natürlich ein wenig komplexer da hier nicht einfach eine GUI vorkommt, die man "einfach" neuzeichnen kann. Genauer drüber nachgedacht habe ich jetzt nicht. Ich würde weiterhin drauf achten, das ich für den View, den Controller und das Modell entsprechende abstrakte Klassen anlege und einfach zu wahren das man später einfach Klassen tauschen kann, bzw entspr. anders implementieren kann. Ein einfaches Beispiel wäre z.B. die grafische Darstellung einer Tabelle. Die Tabelle wird auf dem Bildschirm angezeigt. Der Benutzer klickt in eine Zelle und ändert diese, der Controller benachrichtigt nun das Modell und schickt diesem die neuen Daten, gleichzeitig, benachrichtigt der Controller den View. Der View holt sich darauf hin die neuen Daten aus dem Modell und aktualisiert seine Anzeige. > > Das sind ja jetzt eher Überlegungen, die konzeptioneller Art sind. Muss > ich bei der Implementierung mit PHP mit der OOP nochmal etwas Besonderes > beachten? > Im Prinzip nur das PHP5 benutzt wird, weil dies deutlich performanter in OOP Angelegenheiten ist und auch viele wichtige OOP Konzepte Unterstützt. Gruß Stephan
php::bar PHP Wiki - Listenarchive