2012-04-13 100 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的主要问题在于,它转变了您对数据库表的思考,更多地考虑应用程序的主要逻辑部分,然后在其下方缓慢添加持久层以及其上的应用程序和服务层。