博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是聚合根
阅读量:6854 次
发布时间:2019-06-26

本文共 447 字,大约阅读时间需要 1 分钟。

每个聚合都有一个根实体(聚合根,Aggregate Root),这个根实体是聚合所表述的领域概念的主体,外部对象需要访问聚合内的实体时,只能通过聚合根进行访问,而不能直接访问。从技术角度考虑,聚合确定了实体生命周期的关注范围,即当某个实体被创建时,同时需要创建以其为根的整个聚合,而当持久化某个实体时,同样也需要持久化整个聚合。比如,在从外部持久化机制重建“客户”对象的同时,也需要将其所拥有的“信用卡”赋给“客户”实体(具体如何操作,根据需求而定)。不要去关注聚合内实体的生命周期问题,如果你真的这么做了,那么你就需要考虑下你的设计是否合理。

领域模型需要根据领域概念分成多个聚合,每个聚合都有一个实体作为“聚合根”,通俗地说,领域对象从无到有的创建,以及CRUD操作都应该作用在聚合根上,而不是单独的某个实体。当你的代码需要直接对聚合内部的实体进行CRUD操作时,就说明你的模型设计已经存在问题了。

为聚合的另一层意义就是界定持久化的范围。换句话说,聚合中的所有对象都是“同时有,同时无”。

转载地址:http://siyyl.baihongyu.com/

你可能感兴趣的文章
开发资源汇聚 - jQuery (持续更新中)
查看>>
数据可视化实践
查看>>
Dagger2
查看>>
WinForm webbrowser控件的使用
查看>>
RHEL7.0 配置网络IP的三种方法
查看>>
cocos2dx 3.1从零学习(六)——CocosStudio(VS2013project导入及环境设置)
查看>>
广通云ours服务 企业云通路不再漫漫本文讲的是广通云ours服务 企业云通路不再漫漫,广通云呼叫中心业务与服务的相互渗透...
查看>>
如何成功地实现混合云应用集成
查看>>
在虚拟机(vmware)上安装CentOS
查看>>
变革中的Cisco:Matntl、Contiv、Shipped和Cisco Cloud
查看>>
cordova插件iOS平台实战开发注意点
查看>>
使用jdbc统计和可视化日志
查看>>
寒冬过后未必是暖春 中国SaaS之路任重道远
查看>>
Linux文件权限
查看>>
S.O. 推出程序员身价计算器,看看自己值多少钱?
查看>>
理解OCI(Open Container Initiative)及docker的OCI实现(转)
查看>>
神奇的JAVA多态
查看>>
HADOOP都升级到2.5啦~~~
查看>>
一句话输出网站404页面,REFER及相关排序
查看>>
ASP.NET Core中如影随形的”依赖注入”[上]: 从两个不同的ServiceProvider说起
查看>>