2012-04-13 123 views
1

我對模型的實現有疑問,無法找到問題的合理解釋。 我給你舉個例子,我正在工作,它是一個實現博客的MVC。MVC - 實現模型

我ControllerPost負責讀取某一職位博客 控制從而有ModelPost

的ModelPost必須包含的所有方法需要的?

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

還是應該分離方法?

ModelPost 
    method getPost() 
ModelComment 
    method getComment() 
ModelArchive 
    method getArchive() 

這使我很困惑,我看到的例子,但沒有正確的解釋。 我希望在我的疑慮清楚,否則儘量多解釋

感謝所有

回答

2

在我工作過的大多數項目,我們已經有一個數據庫表的模型類。 主要使用Zend MVC,這意味着擴展每個實體的Zend_Db_Table類。 所以在你的情況下,如果評論,帖子和歸檔是不同的表格(我想他們是),我會建立單獨的類與獲取,更新,插入和刪除(和其他類似的)方法。

這可能會引導一個有點題外話,但我建議你看看領域驅動開發(DDD): 有鏈接到一些良好的閱讀材料在這裏:Domain-driven design with Zend

也給這個一讀:

關於DDD的主要問題在於,它轉變了您對數據庫表的思考,更多地考慮應用程序的主要邏輯部分,然後在其下方緩慢添加持久層以及其上的應用程序和服務層。