事件风暴【event storming】
便利贴
可用范围:宏观【big-design】的建模和设计级别【Design-level】的建模
颜色区分
领域事件
橘色
事件的名称应该是动词的过去式
纵向的空间来表示并行处理的领域事件
命令
浅蓝色
摆放在由它引起的领域事件的左边
它们被成对地关联在一起:命令/事件、命令/事件、命令/事件,一对接一对
有些领域事件是由即将到达的时间期限引起的,因此不存在对应的显式命令导致它发
把命令和领域事件便利贴一起贴在聚合便利贴上
聚合根
长方形的黄色即时贴
这是第一级分类,可以被认为是一组事件操作的“事物”
是一个名词,可以在一组相互依赖的事件中识别出来
执行动作的特定用户角色
黄色+小人
在浅蓝色命令的左下角
只有当关于用户和系统交互的重要事项,或者系统针对用户的特定角色要完成的事情需要交流时,才展示
执行的流程(Process)
浅紫色
领域事件触发执行流程
从领域事件开始绘制一条带箭头的连线,最终指向这个命名流程
限界上下文
粉红色
摆在不同的区域边界内,并在这些便利贴上写上代表该区域内容的名字
视图
绿色
识别用户执行操作所需的各种视图(View),以及不同用户的关键角色
只展示重要的
设计过程
根据需求划分出初步的<b><font color="#f44336">领域和限界上下文</font></b>,以及上下文之间的关系
进一步分析每个上下文内部,识别<b><font color="#f44336">实体和值对象</font></b>
对实体、值对象进行关联和聚合,划分出聚合的范畴和<b><font color="#f44336">聚合根</font></b>
为聚合根设计<b><font color="#f44336">仓储</font></b>,并思考实体和值对象的创建方式
在工程中实践领域模型,并在实践中检验模型的合理性,倒退模型中不足的地方并重构