PHP模式 - 服务/模型/映射器/ Dao示例?

时间:2009-08-13 10:22:47

标签: php design-patterns

有人知道使用以下4个“图层”的PHP应用程序的一些好例子

ServiceLayer --> Model --> DataMapper --> DAO

我不确定它是否有意义,但是当我使用这样的设计时,我必须执行以下操作才能在我的数据库中创建新记录:

$servcie = new Service(new Mapper(new Dao));
$service->save($data)

服务正在创建一个新的数据对象并将其传递给Mapper,Mapper将数据传递给提供的Dao ..

使用这种结构的意图是什么?

为什么不简单:

$model = new Model();
$model->save($data)

模型正在保存到DB。

1 个答案:

答案 0 :(得分:3)

理想情况下,模型应与其存储或管理方式无关。它应该是纯粹的,可移植的数据表示(理想情况下,实际上通常不是这样)。控制器(或专用子控制器)应该是为模型处理此功能的控制器。