CakePHP 业务逻辑层

Posted

技术标签:

【中文标题】CakePHP 业务逻辑层【英文标题】:CakePHP business logic layer 【发布时间】:2011-11-26 04:56:48 【问题描述】:

Cakephp 似乎从未提及分离应用程序的业务逻辑层和数据访问层。这是我的第一个 MVC 应用程序,我的“胖模型”变得非常胖,因为它们包含各种业务逻辑,唯一的共同点是需要访问同一个数据库。

当您听到将业务逻辑从控制器转移到模型中的建议时,是否真的可以接受这种状态? CakePHP 是否为单独的业务逻辑层提供任何结构作为其框架的一部分?

谢谢,布赖恩

【问题讨论】:

【参考方案1】:

没有。在我看来,您遇到的是 Active Record 模式的经典缺点。此外,CakePHP 完全基于结果关联数组而不是对象实例也无济于事。我建议你看看像Doctrine 2 这样的包。它实现了 DataMapper 模式而不是 ActiveRecord 模式。它使您的业务逻辑与您的数据访问层完全分离。

有 CakePHP 扩展可以将 Doctrine 集成到 CakePHP 中。

【讨论】:

以上是关于CakePHP 业务逻辑层的主要内容,如果未能解决你的问题,请参考以下文章

三层架构之业务层逻辑层

业务逻辑层

三层架构之业务逻辑层

3层架构业务逻辑层无逻辑

应用层和业务逻辑层有啥区别?

在单独的数据访问和业务逻辑层中,我可以在业务层中使用实体框架类吗?