gpt4 book ai didi

zend-framework - Zend 模型架构

转载 作者:行者123 更新时间:2023-12-04 04:30:21 25 4
gpt4 key购买 nike

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

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

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

最佳答案

在 1.0 版之前,我是 Zend Framework 项目的项目负责人。我的贡献主要在 Zend_Db 组件中。

我经常advise人们应该使用 Domain Model模式并避免 Anemic Domain Model反模式。请记住 表不是模型。

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

我基本上是在重复我给 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
  • 关于zend-framework - Zend 模型架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2122850/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com