业务驱动 状态机
描述
通过有限状态机(FSM)实现业务的驱动,状态机通过操作驱动(即事件驱动ED)触发
状态机可充分利用管理PipeLine模式,让业务核心程序解耦
使用场景
- 订单模型/领域
- Redis请求队列
状态机业务驱动图
类图分析:
State: 状态实体类,表示一个状态以及关联操作、操作后的新状态定义,通过State类以及配置化到相关配置文件,可以实现业务一定程度上的可配置化
StateConfigLoader: 状态机配置文件加载类
IFSM: 状态机接口
EDFSMManager: 事件驱动有限状态机实现类,时间状态的转化、执行
FSRequest: 请求参数类
FSResponse: 相应参数类
IFSMOperatorRouter: 操作路由接口
FSMOperatorRouter: 操作路由实现类
IFSMOperator: 操作接口,状态机通过当前接口驱动相关业务,相关业务类必须实现这个接口
接下来通过订单模型讲解状态机