09.事件风暴

学习视频来源:DDD独家秘籍视频合集 https://space.bilibili.com/24690212/channel/collectiondetail?sid=1940048&ctype=0

概念

事件风暴是Alberto Brandolini 发明的一种头脑风暴方法,可以:

  • 分析交流学习领域知识
  • 梳理业务流程,理解系统职责
  • 进一步设计领域模型

组成部分

在这里插入图片描述
Domain Event:领域事件。在这个业务中,已经发生的有意义的事情,是一个事实。
Query Model/Infromation:读模型。当领域事件发生过之后,会产生一些查询模型。
actor:用户、角色。 用户观察到这些查询模型之后,会决定做一些操作。
Command/Action: 命令。
External System/Aggregate/consistent business rule:外部系统,聚合。 这一些操作会在外部系统或者聚合上去做,可能又会产生一些领域事件。
Policy:策略。系统自动监听领域事件,发布命令。

这就是事件风暴最主要的组成部分,建模的时候就是要把这些东西找出来,并且让它们的逻辑关系通畅。

具体场景

网上找了一个事件例子说明,图片来源:https://www.jianshu.com/p/797d96c1faab/

事件风暴

在这里插入图片描述
图片来源:https://www.jianshu.com/p/797d96c1faab/

寻找聚合

在这里插入图片描述

改进

原版的事件风暴没有非常的强调逻辑要通顺的,主要是强调协作,领域专家和程序员一起商量、共创、画图,把模型建立出来,并没有强调建模细节的过程以及聚合到什么程度。作者进行了优化
在这里插入图片描述

具体流程

在这里插入图片描述
事件命令完备:主要是找到所有的命令和事件。
聚合完备:找出聚合,将相同ID的事件,分配给同一个聚合。确保所有命令的功能都能分解到聚合来承担。
聚合优化:聚合上下限,不能太大,不能太小。

参考

https://www.jianshu.com/p/797d96c1faab/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值