问题场景:业务流程与状态的耦合,以及流程变化后,状态丢失后流程无法进行、定位;
- conf 配置策略,策略相应的流程及各流程节点的版本;
- data 假定的关系型数据库,db即数据表;
- flow 工作流程节点,包含整个工作流程中的节点类;
- Lib 类库,包含策略实现,假定数据库类,自动加载,接口等。
- strategy 按策略调用配置,控制流程;
利用策略模式,对不同策略配置不同的线性流程,由流程控制对象决定执行哪一个流程节点(扫描当前策略工作流程,按顺序验证是否已经完成节点工作,未完成即停在此 节点等待执行,执行后则标记此节点已被执行)