UML软件工程组织

 

 

Windows Workflow Foundation之旅(四)
 
作者:wolf's cave 文章来源:CSDN
 

Windows Workflow Foundation之旅(七)——顺序工作流、状态机工作流

顺序工作流

ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/ea68a735-5a68-43b4-8ed8-b3bc9842f4ba.htm

顺序工作流风格是只进的。这种工作流适合于重复的,相对固定的操作,比如,定义一组活动,并让他们按固定的顺序走。

顺序工作流以固定的顺序从头到尾运行工作流。如果说顺序工作流的流程完全是确定的,那也不尽然。举个例子,你可以使用Listen活动(事件监听),或者Paralled活动(并行执行),这样一来,一个严格的事件顺序就会被打破。

更多的工作流创作信息,请看工作流创作模式

状态机工作流

ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/f0b837d0-9d74-41dc-9724-13acbcd3c433.htm

这这种风格中,创作者把工作流建模成一个状态机。工作流本身是由许多状态组成的。其中一个状态指定为起始状态。每个状态能接收一组指定的事件。事件的触发将导致状态的迁移。当状态迁移到终止状态时,工作流就结束了。下面的这个表列出了WWF框架的活动库中,跟状态机相关的活动。

活动

描述

EventDriven

这个活动用于由外部事件驱动的状态。EventDriven活动的第一个子活动必须实现IEventActivity接口。

SetState 指定了到另一个状态的迁移
State 在状态机中代表一个状态;可能包含其他状态活动。
StateInitialization 状态一进入就开始执行(不像EventDriven那样,需要等待外部事件),它可以包含其他活动。

Windows Workflow Foundation之旅(八)——使用活动控制流程、在工作流中使用条件

前阵子出了好多事情,先是生病,然后盘算着买本本,后来家里又进了贼,脑脑被偷了,硬盘上积累了八年的资料全没了。。。搞的我焦头烂额,现在事情过去一阵子。又能静下心来写东西了。
继续~

使用活动控制流程

翻译自:ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/118e7847-de88-4cf1-a3ef-b344c231eb38.htm

WWF框架包含了一组活动(译者:活动说白了就是构建工作流的控件。活动和工作流的关系就象windows控件和form的关系),这些活动提供了各种丰富的功能。你可以使用这些活动来控制工作流的逻辑流程。

以下列出了WWF框架中的常用的控制逻辑流程的活动。

活动

描述

Listen

可使你的工作流包含一个依赖事件作出选择的分支,或者超时退出。

IfElse

依次检查每个分支的条件,一个满足条件的分支将被执行。

Parallel

可使你的工作流同时处理两个或两个以上不相关的操作。

Suspend

可使你的工作流暂停,以干涉一些包含错误条件的事件。

Terminate

可使你的工作流在接收到错误条件的事件时,立即终止。

While

可使你的工作流循环执行,知道条件不满足。

ConditionedActivityGroup

也叫CAGExecutes child activities based on a condition that applies to the CAG itself, and based on conditions that apply separately to each child.

EventDriven

这个活动包装了其他活动,这些活动会在指定的事件发生时运行。

在工作流中使用条件

翻译自:ms-help://MS.WinWF.v1.EN/WinWF_GettingStarted/html/541211f5-d382-4810-894f-71f00b34fa77.htm

你可以使用条件来控制工作流的行为。工作流引擎会判断条件,并依据判断的结果来决定之后的行为。

在工作流中有两种表达条件的方式:

  • 你可以编写一个处理方法并返回一个布尔值。
  • 你可以在工作流中定义一个规则。

你可以在工作流的运行期间动态更新条件规则,来改变工作流的行为。

你也可以通过创建一个策略类型的活动,来使用条件行为。

条件活动

  • WWF提供了几个使用条件的活动:
  • IFElse活动的分支,是基于条件判断的结果的。
  • While活动将会持续循环的执行,知道条件判断为假。
  • ConditionalActivityGroup活动将持续执行它的子活动,直到判断条件为真。CAG活动中的每个独立子活动都有一个“When”条件。只有在When条件为真时,活动才会执行。
  • Replicator活动在判断条件为真时,完成他的执行。

你可以在自定义活动中使用条件。

注意:

条件规则只能是工作流类中定义任何公共成员——变量或者方法。而条件代码可以是是任何公共或私有的成员。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号