Mailinglisten-Archive |
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