知识卡片
DDD以资源库取代DAO因引入了聚合边界
内容
数据访问对象(data access object,DAO)对PO进行持久化以实现数据访问,它可以持久化领域模型对象,但对领域模型对象的边界没有任何限制。由于DDD引入了聚合边界、力求领域模型与数据模型分离,并引入资源库专门用于聚合的生命周期管理,因此在DDD中不再使用DAO这个概念。发散:DAO与资源库的关键差别正是”有无聚合边界约束”——资源库以聚合为最小持久化单元,而DAO按任意粒度访问表,这也是DDD要用前者替换后者的根本原因。
参考来源
- 位置:《解构领域驱动设计》第19章 19.1.2(源文件:_epub-src/OEBPS/032.xhtml)
- 结论依据:原文指出DAO对领域对象边界无约束,DDD因聚合边界与资源库而不再使用DAO。
- 原始内容:由于领域驱动设计引入了聚合边界……因此在领域驱动设计中,不再使用DAO这个概念。