事件流模型
事件流模型是用于描述领域中各种事件的模型,它可以帮助开发人员和用户更好地理解领域的业务流程和规则。事件流模型可以对领域的各个环节进行详细的描述,包括事件的触发条件、处理过程、产生的结果等,从而为开发人员提供详细的业务逻辑参考。
元素介绍
|
元素名 |
图标 |
含义 |
|---|---|---|
|
DomainEvent |
|
领域事件,发生在领域中并导致进一步业务操作的事件。对业务有价值,有助于形成完整的业务闭环。 |
|
Aggregate |
|
聚合,是可以承载决策命令、其对应的领域事件和属性(输入和输出)的重要业务概念。 |
|
Final |
|
终止,表示事件已经执行完成。 |
|
BusinessRule |
|
业务规则,是对分支条件或复杂业务规则的抽象。 |
|
A_ServiceFlowNode |
|
业务活动服务节点,将业务活动封装为可编排、可复用流程节点的模型。连接了业务流程和领域服务,实现了业务活动的标准化执行。 |
|
PolicyMaker |
|
决策者,是决策命令的触发原因。 |
|
ServiceFlowNode |
|
业务流节点,聚焦一个业务场景,以时间线为主线,向前向后发散,不断反问来完善整个业务流。 |
|
Initial |
|
初始,表示事件状态开始。 |
|
DecisionCommand |
|
决策命令,是领域事件的触发动作,代表业务流上的重要业务决策,通过领域类上的方法来实现。 |
|
Control Flow |
|
控制流,控制后续模块之间的关系。 |
建模步骤
以某硬件项目为例进行软件架构设计。
- 工具箱拖动Initial元素至画布中,表示事件的开始。

拖动A_ServiceFlowNode元素至画布中,命名获取数据包结果,并使用Control Flow连接。

- 同样方式创建后续ServiceFlowNode和Final元素,使用Control Flow进行连接。

- 参考示例补充DomainEvent、BusinessRule、DecisionCommand、PolicyMaker、Aggregate元素。










