1

我对模型的实现有疑问,找不到问题的合理解释。我会给你一个我正在工作的例子,它是一个实现博客的 MVC。

我是负责控制阅读特定帖子博客的 ControllerPost,因此拥有 ModelPost

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

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

还是我应该隔离这些方法?

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

这让我很困惑,我看到了例子但没有正确的解释。我希望这在我的疑问中很清楚,否则请尝试更具解释性

谢谢大家

4

1 回答 1

2

在我从事的大多数项目中,我们都有一个用于数据库表的模型类。主要使用 Zend MVC,这意味着为每个实体扩展 Zend_Db_Table 类。因此,在您的情况下,如果评论、帖子和存档是不同的表(我想它们是),我将使用 get、update、insert 和 delete(以及其他类似)方法构建单独的类。

这可能有点偏离主题,但我建议您查看域驱动开发 (DDD):这里有一些很好的阅读材料的链接:Zend 的域驱动设计

也给这个阅读:

DDD 的主要内容是,它将您的思维方式从考虑数据库表转变为考虑应用程序的主要逻辑部分,然后在其下方缓慢添加持久层,并在其上方添加应用程序和服务层。

于 2012-04-13T22:03:34.603 回答