首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >zend models架构

zend models架构
EN

Stack Overflow用户
提问于 2010-01-23 18:38:24
回答 1查看 795关注 0票数 4

假设数据库中有两个表: projects和users。我创建了两个扩展Zend_Db_Table_Abstract的模型:Model_DbTable_UsersModel_DbTable_Projects

现在,在Model_DbTable_Users类中创建一个Model_DbTable_Projects实例是一个好的模式吗?换句话说:是否可以在这个模型中加入任何逻辑,或者我应该创建另一个使用Model_DbTable_UsersModel_DbTable_Projects的类

我习惯于把所有的逻辑放在扩展Zend_Db_Table_Abstract的模型中,但在大型项目中,它会使代码变得非常不干净。那么,你能给我一些关于模型架构的建议吗(文章的链接就更好了!)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-24 10:20:38

我是Zend Framework项目的项目负责人,一直到1.0版。我的贡献主要集中在Zend_Db组件上。

我经常advise人们应该使用Domain Model模式,避免使用Anemic Domain Model反模式。记住,a Table不是一个模型。

您的Model是封装业务逻辑的代码的类(不扩展基类)。Model和Table之间的关系不是-A,而是HAS-A (或HAS-Model)。该模型将数据库持久性视为实现细节。Model的使用者应该对您的数据库结构一无所知(这允许您在不更改Model接口的情况下更改数据库结构)。

我基本上是在重复我给Models in the Zend Framework的答案。

下面是一些更多的阅读:

  • http://weierophinney.net/matthew/archives/202-Model-Infrastructure.html
  • http://blog.astrumfutura.com/archives/373-The-M-in-MVC-Why-Models-are-Misunderstood-and-Unappreciated.html
  • http://n4.nabble.com/Another-Model-Design-Thread-td670076.html
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2122850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档