Tom2: Model View Controller - Was gehört wo hin?

Beitrag lesen

Hallo Peter

Was mir nun nicht klar ist: Bestimmte Informationen, die ich aus einer Datenbank erhalte, benötige ich ausschliesslich zur Darstellung in der  View. Sollte ich trotzdem immer den Umweg über die Action/das Model gehen, welches die Daten sammelt und an die View weiterreicht?

IMHO hängt das von den Daten ab. Wenn sie sich auf das Model oder das System, welches das Model modeliert, beziehen, dann solltest du nicht direkt darauf zugreifen. Wenn du aber zum Beispiel Layout-Informationen in der DB speicherst, die sich nur auf einen ganz bestimmten View beziehen, dann kannst du direkt auf die DB zugreifen. Noch sauberer ist es natürlich, wenn du auch dafür ein Model machst, welches du für ähnliche Views benutzen kannst.

Oder ist es legitim in der View selbst einen Datenbank-Connect aufzubauen?

Anscheinend musst du eine DB-Verbindung aufbauen, die Frage ist halt, ob du das direkt im View machen oder etwas mehr Aufwand betreiben willst und dafür auch ein kleines Model schreiben.

Eine Action kann ja schliesslich zu mehreren Views forwarden, da erscheint es mir nicht richtig, die View-spezifischen Daten zentral zu sammeln.

Erstelle doch zwei Datenbanken: Eine für die anwendungsspezifischen Daten und eine für das System. Diese DB speichert dann die View-Daten sowie Konfigurationen oder so was. Wenn du später siehst, dass eine richtige DB  totaler overkill ist für eine solche Anwendung, dann kannst du das Model immer noch auf ein FlatFile umstellen.

HTH

Tom2