1.状态机工作流
(1)状态机工作流从state1 流转到 state2 到stateN
(2) state中有执行状态和退出状态
(3) 在进入下一个步骤(state1 到 state2)前,首先会判断进入下一个状态的条件,下面我把它叫做判断模块
(4)在判断模块中,有三个生命周期:Trigger,Condition,Action
(5)判断模块会先进入Trigger,执行初始化,再进入Condition,判断条件,条件满足执行state1中的退出状态代码,然后进入判断模块的Action 继续执行,如果不满足条件,跳回Trigger再次执行触发器的代码.
2.代码块
(1)在代码块中可以建立书签,可以阻断流程的执行,并为下一次的继续执行建立标识.
(2)代码块可以理解为一个方法,有输入参数,输出参数
(3)代码块输入参数:可以在总的工作流中接收参数值,在context中拿到值,为书签的创建提供必要的参数.
(4)代码块输出参数,就像一个方法的返回值一样,我们在重启书签的时候,用户可以给重启书签的方法传值,代码块拿到该值后可以通过context为总的工作流传出参数值
3.工作流的参数
(1)工作流中的参数区别于代码块中的参数,
(2)用户可以在启动工作流的时候通过工作流参数为工作流传值
(3)而代码块中的输入输出参数我们可以通过定义工作流变量来获得,所以要区分两种参数的关系可以把代码块当做一个方法来看待.(输入参数就是输入参数,输出参数就是方法的返回值)
4.流程设计
(1)代码块写在state中,条件判断写在判断模块中