zend模型架构

mik*_*mik 4 architecture zend-framework model

假设我在数据库中有两个表:项目和用户.我创建了两个扩展Zend_Db_Table_Abstract的模型:Model_DbTable_UsersModel_DbTable_Projects.

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

我用来将所有逻辑放在模型中,扩展Zend_Db_Table_Abstract,但在大型项目中,它可以使代码非常不干净.所以,你能给我任何关于模型架构的建议(文章链接会很棒!).

Bil*_*win 9

我是版本1.0的Zend Framework项目的项目负责人.我的贡献主要在Zend_Db组件中.

我经常建议人们使用域模型模式并避免使用Anemic Domain Model反模式.请记住,表不是模型.

您的Model是一个类(不扩展基类),用于封装业务逻辑的代码.模型和表之间的关系不是IS-A,它是HAS-A(或HAS-MANY).Model将数据库持久性视为实现细节.模型的使用者应该不了解您的数据库结构(这允许您在不更改模型接口的情况下更改数据库结构).

我基本上重复了我在Zend Framework中模型的答案.

这里有一些阅读: