war*_*nds 6 php database design-patterns domain-driven-design
有人可以帮我理解数据映射器和数据访问对象模式之间的区别吗?我已经从zandstra的书中了解了数据映射器模式.但是当我搜索数据访问对象时,我发现有非常相似甚至相同的模式.另外,我想知道在编写自己的框架时应该使用哪一个(我正在尝试实现自己的mvc php框架,以了解现代框架的工作原理).
数据映射器直接从(并恢复)域对象保存数据,而数据访问对象将用作域对象和存储抽象之间的信息交换的中介.
<update>
两种方法的主要区别在于数据映射器临时控制域对象,而数据访问对象要么间接地接收数据(通过某种更高级别的抽象,如服务),要么被域控制(在某些实现中,甚至实例化)宾语.</update>
这两种模式都与活动记录(反)模式远程相关,后者在单个实例中结合了域逻辑和存储抽象,从而破坏了SRP.
并且没有提到的模式与ORM相关联.一些ORM试图使用上面提到的模式来实现,但是它们通常做得很糟糕.
大多数,你称之为"现代框架"使用活动记录模式并将其称为"模型"的实例,这种概念极其简化,由Rails延续.
| 归档时间: |
|
| 查看次数: |
3285 次 |
| 最近记录: |