docs/docs/cn/flow-engine/event-flow.md
在 FlowEngine 中,界面的所有组件都是 事件驱动(Event-driven) 的。
组件的行为、交互和数据变化,都是由事件(Event)触发并通过流(Flow)执行的。
在 FlowEngine 中,流(Flow)可以分为两种:
简而言之:静态流是定义在类上的逻辑模板,动态流是定义在实例上的个性化逻辑。
在 FlowEngine 的配置体系中,有两种实现事件逻辑的方式:
因此,联动规则 ≈ 简化版事件流,两者的核心机制一致。
无论是 联动规则 还是 事件流,都应该使用相同的 FlowAction 集合。
也就是说:
从概念上,FlowModel 的核心抽象关系如下:
FlowModel
└── FlowDefinition
├── FlowEventDefinition
│ ├── 全局事件(Global Events)
│ └── 局部事件(Local Events)
└── FlowActionDefinition
├── 全局操作(Global Actions)
└── 局部操作(Local Actions)
FlowModel
表示一个可配置、可执行流逻辑的模型实体。
FlowDefinition
定义一组完整的流逻辑(包含触发条件与执行步骤)。
FlowEventDefinition
定义流的触发源,包括:
FlowActionDefinition
定义流可执行的动作,包括:
| 概念 | 作用 | 生效范围 |
|---|---|---|
| 静态流 (Static Flow) | 在代码中定义的流逻辑 | 所有 XXModel 的实例 |
| 动态流 (Dynamic Flow) | 在界面上定义的流逻辑 | 单个 FlowModel 实例 |
| FlowEvent | 定义触发器(何时触发) | 全局或局部 |
| FlowAction | 定义执行逻辑 | 全局或局部 |
| 联动规则 (Linkage Rule) | 简化的事件流的 Step 封装 | 区块、操作级 |