战术设计聚合工作坊

简介: 战术设计聚合工作坊

聚合是领域驱动战术设计最为核心的技术要素,也是制约战术设计成败与质量的关键。本次工作坊将根据一个实际案例的对象模型,按照领域驱动设计的聚合设计原则识别聚合,以求获得高质量的聚合模型。

在《Domain-Driven Design Reference》中,Eric Evans阐释了何谓聚合模式:“将实体和值对象划分为聚合并围绕着聚合定义边界。选择一个实体作为每个聚合的根,并允许外部对象仅能持有聚合根的引用。作为一个整体来定义聚合的属性和不变量(Invariants),并将执行职责(enforcement responsibility)赋予聚合根或指定的框架机制。


解读这一定义,可以得到如下聚合的基本特征:

  • 聚合是包含了实体和值对象的一个边界
  • 聚合内包含的实体和值对象形成了一棵树,只有实体才能作为这棵树的根,这个根称为聚合根(Aggregate Root),这个实体称为根实体
  • 外部对象只允许持有聚合根的引用,如此才能起到边界的控制作用
  • 聚合作为一个完整的领域概念整体,在其内部会维护这个领域概念的完整性,体现业务上的不变量约束
  • 由聚合根统一对外提供履行该领域概念职责的行为方法,实现内部各个对象之间的行为协作


本次工作坊通过一个实际案例按照一种“庖丁解牛”式的聚合设计过程进行,帮助你准确地识别聚合,确定聚合的边界。

相关文章
|
10天前
|
敏捷开发 缓存 负载均衡
架构设计黄金法的七个黄金法则
【8月更文挑战第9天】在软件开发的浩瀚星空中,架构设计如同星辰般指引着项目前行的方向。它不仅是技术实现的蓝图,更是系统稳定性、可扩展性与维护性的基石。今天,让我们一同揭开“架构设计的七个黄金法则”的神秘面纱,探索那些在工作学习中不可或缺的技术干货。
31 0
|
机器学习/深度学习 存储 自然语言处理
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!(2)
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!
157 0
|
机器学习/深度学习 存储 人工智能
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!(1)
ChatGPT的各项超能力从哪儿来?万字拆解追溯技术路线图来了!
146 0
|
前端开发 小程序 Java
DDD实战之八:冲刺 1 战术之聚合设计(下)
DDD实战之八:冲刺 1 战术之聚合设计(下)
DDD实战之八:冲刺 1 战术之聚合设计(下)
|
前端开发 测试技术 定位技术
DDD实战之八:冲刺 1 战术之聚合设计(上)
DDD实战之八:冲刺 1 战术之聚合设计(上)
DDD实战之八:冲刺 1 战术之聚合设计(上)
|
测试技术
相亲软件开发,需要慎重考虑的几个维度
相亲软件开发,需要慎重考虑的几个维度
资深交互设计师教你:四类弹框的四大设计准则
资深交互设计师教你:四类弹框的四大设计准则
资深交互设计师教你:四类弹框的四大设计准则
|
数据可视化 数据挖掘 大数据
以系统化视角反观产品运营,解读提升用户转化的“四部曲”
正常的活动运营通常会围绕公司经营目标,针对不同性质、不同类型的活动开展工作。这样的活动一般会分四个阶段:活动准备、活动策划、活动执行与活动复盘阶段。
以系统化视角反观产品运营,解读提升用户转化的“四部曲”