更新时间:2026-02-03 GMT+08:00
分享

事件流模型

事件流模型是用于描述领域中各种事件的模型,它可以帮助开发人员和用户更好地理解领域的业务流程和规则。事件流模型可以对领域的各个环节进行详细的描述,包括事件的触发条件、处理过程、产生的结果等,从而为开发人员提供详细的业务逻辑参考。

元素介绍

表1 事件流模型元素

元素名

图标

含义

DomainEvent

领域事件,发生在领域中并导致进一步业务操作的事件。对业务有价值,有助于形成完整的业务闭环。

Aggregate

聚合,是可以承载决策命令、其对应的领域事件和属性(输入和输出)的重要业务概念。

Final

终止,表示事件已经执行完成。

BusinessRule

业务规则,是对分支条件或复杂业务规则的抽象。

A_ServiceFlowNode

业务活动服务节点,将业务活动封装为可编排、可复用流程节点的模型。连接了业务流程和领域服务,实现了业务活动的标准化执行。

PolicyMaker

决策者,是决策命令的触发原因。

ServiceFlowNode

业务流节点,聚焦一个业务场景,以时间线为主线,向前向后发散,不断反问来完善整个业务流。

Initial

初始,表示事件状态开始。

DecisionCommand

决策命令,是领域事件的触发动作,代表业务流上的重要业务决策,通过领域类上的方法来实现。

Control Flow

控制流,控制后续模块之间的关系。

建模步骤

以某硬件项目为例进行软件架构设计。

  1. 工具箱拖动Initial元素至画布中,表示事件的开始。

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

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

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

相关文档