phpbar.de logo

Mailinglisten-Archive

[php] [1/2 Off-Topic] MVC: Creole/Propel, Smarty und Klassen

[php] [1/2 Off-Topic] MVC: Creole/Propel, Smarty und Klassen

Andre Gemünd listen at scroogie.de
Die Mar 15 12:01:06 CET 2005


Thorsten Koch wrote:

>- Ihre Methoden werden vom Controller aufgerufen, holen sich die Daten
>aus der DB und 
>  füttern die Smarty-Templates mit den Daten
>  
>
Imho sollte der View hier keine Datenbankverbindung haben. Das Model ist 
das tatsächliche Objekt, das heißt es hält die Daten, die wiederum vom 
Controller ausgelesen werden, der Sie an den View schickt.

>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? 
>  
>
Ob drei Klassen zu viel sind hängt ganz von dem Einsatzgebiet ab. Häufig 
werden View und Controller zusammengefasst (zB Document View Modell beim 
MFC). Um effizient zu bleiben braucht man für einen neuen View sowieso 
meistens einen neuen Controller (weil zum Beispiel ganz andere Daten 
präsentiert werden, Du willst ja nicht jedesmal einfach alles an den 
View rüberschicken). Mal Dir doch für beide Möglichkeiten mal 
Klassendiagramme und such Dir aus womit Du besser zurecht kommst.
Die konkrete Realisierung ist ja auch nicht fest vorgeschrieben, es 
bleiben Dir noch Variationsmöglichkeiten. Ein Streitpunkt sind zum 
Beispiel die Assoziationen. Wenn ich mich richtig erinnere (korrigiert 
mich bitte, wenn nicht), sollte das View-Objekt überhaupt keine 
Assoziation zum Model haben. Man sieht aber häufig das alle Views und 
Controller als Observer am Model hängen. Wenn ein Controller dann Daten 
des Models ändert werden alle Observer dazu aufgerufen sich zu 
aktualisieren.

hth
André

php::bar PHP Wiki   -   Listenarchive