2012-04-13 18 views
1

Ich habe Zweifel an der Implementierung des Modells und kann keine vernünftige Erklärung für das Problem finden. Ich gebe dir ein Beispiel Ich arbeite, es ist ein MVC, der einen Blog implementiert.MVC - Implementierung eines Modells

Ich bin ControllerPost, die für die Steuerung des Lesens eines bestimmten Posten Blog folglich die ModelPost

die ModelPost

haben verantwortlich ist, alle Methoden benötigt enthalten?

method getPost() 
method getComment() 
method getArchive() 

oder sollte ich die Methoden isolieren?

Das verursacht mir viel Verwirrung, ich sehe Beispiele, aber keine richtige Erklärung. Ich hoffe, das war klar in meinen Zweifeln, sonst versuchen, alles, was ich gearbeitet habe

Antwort

2

In den meisten Projekten mehr Erläuterungs

Dank zu sein, haben wir eine Modellklasse für eine Datenbanktabelle hatten. Unter Verwendung von Zend MVC würde das bedeuten, die Zend_Db_Table-Klassen für jede Entität zu erweitern. Also in Ihrem Fall, wenn der Kommentar, Post und Archiv verschiedene Tabellen sind (was ich denke, sie sind), würde ich separate Klassen mit Get, Update, Einfügen und Löschen (und andere ähnliche) Methoden erstellen.

Dies könnte ein wenig vom Thema lenken, aber ich schlage vor, Sie Domain Blick in Getriebene Entwicklung (DDD): Es gibt Links zu einigen guten Lesestoff hier: Domain-driven design with Zend

Auch diese eine Lese geben:

Die Hauptsache an der DDD ist, dass Sie Ihre Denkweise von Überlegungen über Datenbanktabellen, mehr in Richtung der wichtigsten logischen Teile Ihrer Anwendung und dann langsam hinzufügen eine Persistenzschicht darunter und die Anwendung und Service-Schichten darüber .

Verwandte Themen