跳转至

领域驱动设计实践 - 事件风暴

关于事件风暴

事件风暴的原则

1. 反映真实的场景

2. 共识优先于分歧

3. 建立通用语言

4. 业务设计和应用架构设计保持一致

5. 注意聆听

6. 结构化发问

7. 适时休息

准备工作

1. 准备场地

2. 提前输入

1. 如果你已经有了用户旅程

2. 如果你已经有了 BPMN

3. 召集会议

讨论领域知识

1. 最小依赖原则

2. 丰富事件,反映真实场景

3. 根据时间顺序,排列事件

4. 为每个事件增加命令

5. 为每个事件增加角色

6. 为每个角色增加读模型

7. 识别领域对象

8. 识别聚合

识别聚合的原则

拆分聚合

合并聚合

9. 识别聚合间的上下游关系

10. 根据事件顺序,贯穿整个业务,查漏补缺

战略建模

识别限界上下文

聚合分组

调整聚合分组

业务因素
组织因素
技术因素
拆分聚合分组
合并聚合分组

识别集成关系

识别限界上下文的依赖
通过契约测试构建集成关系

战术建模

识别构造块

识别实体(引用对象)

识别值对象

识别包/模块

识别对象之间关系

1. 泛化
2. 实例
3. 聚合
4. 组合
5. 关联
6. 依赖

识别领域服务

识别工厂

识别仓储

设计识别领域对象间的数据模型

代码实现

让领域模型进入代码

  1. 代码分层架构
  2. 贫血模型
  3. 充血模型

架构的演进策略

1. 拆迁者模式

2. 绞杀者模式

3. 修缮者模式

在规模化敏捷团队中应用事件风暴

1. 构建产品应用架构

2. 构建产品技术架构

3. 规划产品路线图

4. 构建产品特性树

5. 识别特性

6. 识别用户故事

附录 A:采用 Lean UX 设计 User Journey

附录 B:采用 BPMN 构建业务流程图