red*_*edi 5 domain-driven-design ddd-repositories
可能对于某些域逻辑实现实体需要访问repo以更新/删除self或任何相关实体.听起来不对吗?
不,它没有,至少对于标记为"域驱动设计"标签的问题.当然,Active Record模式有权在某些系统中存在,有些人发现强耦合很有用,但在DDD中,建议的方法是明确使用存储库:
Evans DDD,第152页:对于需要全局访问的每种类型的对象,创建一个对象,该对象可以提供该类型的所有对象的内存中集合的错觉.«...»仅为实际需要直接访问的AGGREGATE根提供存储.让客户专注于模型,委托所有对象存储和访问存储库.
因此,在DDD中,存储库不仅封装了访问数据库所需的基础结构代码,而且还包含了必须存储和加载对象的整个想法.
如果你正在做一些其中涉及节约,并从数据库加载复合动作,那么服务是必须的引用库是最好的人选.
| 归档时间: |
|
| 查看次数: |
1014 次 |
| 最近记录: |