一个简单的态机模式工作流演示

在状态机模式下使用State,EventDriven,Code,ifElse,While

新建项目

1.新建Emplu Workflow Project 名为WorkflowProject1

2.添加State Machine Workflow文件

一个简单的态机模式工作流演示_第1张图片

3.将系统默认建立的Workflow1InitialState删除,自已建可以感受一下过程

一个简单的态机模式工作流演示_第2张图片


 

添加State结点

每个State Machine Workflow至少要有两个stateActivity,

一个为初始状态:initial State

一个为完成状态:completed State

 

initial State

初始状态,必需有且只有一个,添加正常状态后,右击,选 Set as Initial State

可以对其内部进行设计

completed State

完成状态,必需有且只有一个,添加正常状态后,右击,选 Set as Completed State

不能对其内部进行设计,作为一个终结点标志

Node State

添加的正常状态,可以有任意多个,initial State一样可以对其内部进行设计



一个简单的态机模式工作流演示_第3张图片

State结点添加EventDriven

只有initial StateNode State可添加EventDriven

一个简单的态机模式工作流演示_第4张图片




 

设计EventDriven

EventDriven容器里的结点

delay

每个EventDriven容器开始处必需有该结点

setState

每个EventDriven容器都应有该结点。

用于设置该状态完成后的下一个State结点

 

一个简单的态机模式工作流演示_第5张图片

EventDriven里添加Code结点

 
一个简单的态机模式工作流演示_第6张图片


 

EventDriven里添加ifElse结点

1.ifElse结点两个分支容器内可添加其他结点

2.ifElse需要为if的分支指定conditions(状态)



一个简单的态机模式工作流演示_第7张图片
一个简单的态机模式工作流演示_第8张图片


EventDriven里添加While结点

1.While结点循环容器内可添加其他结点

2.While需要为循环条件指定conditions(状态)

一个简单的态机模式工作流演示_第9张图片



完成ifElse结点两个分支内的代码,While结点内的循环代码,最后结果如下
一个简单的态机模式工作流演示_第10张图片

全部代码与运行方式见下篇





你可能感兴趣的:(工作流)