知识卡片
仓储隔离存储
内容
仓储用集合视角管理聚合,隐藏数据库、缓存、全文索引等基础设施差异。领域模型只关心对象获取与保存,不应被SQL方言、ORM细节或表结构牵着走。
参考来源
- 位置:《复杂软件设计之道》第4章《实体和值对象》"4.5 仓储"一节(源文件:_chapter_text/ch04.txt)
- 结论依据:原文明确"仓储在DDD中是一个模式,引入这个概念,可以隔离业务领域和多种数据库。一个对象可以保存到关系数据库,也可以保存到NoSQL等数据库,也可以持久化为磁盘上的文件,这些基础设施的不同会造成对领域模型的影响",说明仓储的作用正是屏蔽存储技术差异。
- 原始内容:仓储(Repository)类似保存对象的仓库……仓储在DDD中是一个模式,引入这个概念,可以隔离业务领域和多种数据库。一个对象可以保存到关系数据库,也可以保存到NoSQL等数据库,也可以持久化为磁盘上的文件,这些基础设施的不同会造成对领域模型的影响。