WEB开发网
开发学院软件开发C语言 《WF编程》系列之46 第七章 事件驱动工作流 阅读

《WF编程》系列之46 第七章 事件驱动工作流

 2010-10-01 08:20:51 来源:WEB开发网   
核心提示: 图片看不清楚?请点击这里查看原图(大图), 事件(event),《WF编程》系列之46 第七章 事件驱动工作流(2),是一些外部的刺激,在上面的截图中,我们可以放置一系列将要在事件到达时执行的活动,序列中最后一个活动通常是SetState活动,我们只有一种类型的事件——按

图片看不清楚?请点击这里查看原图(大图)。

事件(event),是一些外部的刺激。在上面的截图中,我们只有一种类型的事件——按钮的点击事件。状态机将会对Power On或Power Off状态上的这个事件做出响应。并不是所有的事件必须对相同的事件做出响应。

迁移(transition)将状态机转移到下一个状态。迁移只能发生在对事件的响应上。迁移不必将状态机转移到一个新的状态——迁移可以环回(loop back)到相同的状态。当状态机在Power Off状态中接收到按钮的点击事件时,它会迁移到Power On状态。反之,如果状态机在Power On状态中接收到按钮的点击事件,那么它会转移到Power Off状态。

状态迁移的概念暗示了在迁移之前或之后将会发生一些操作。就是说,状态机并不只是存储状态,它还会在事件到达的时候执行代码。在上面的截图中,状态机在到达一个新的状态时,将会通过打开或关闭电路的方式来控制电流的流向。

Windows工作流中的状态机

在上面截图中的状态机是相当简单的,而大多数系统将需要更高级的模型。然而,在截图中介绍的概念(状态、事件和迁移),和我们在Windows工作流中用来创建状态机的概念是相同的。

在WF中,State活动表示在状态机工作流中的一个状态。随着事件的到达,工作流将会在State活动间迁移。状态机工作流必须指定一个初始状态,这将是该工作流的开始状态。状态机工作流还可以指定一个完成状态(可选的)。工作流将会在其迁移到完成状态后终结。

EventDriven活动表示状态机中的一个事件。我们把这些活动放在State活动中来表示该状态的合法事件。在EventDriven活动中,我们可以放置一系列将要在事件到达时执行的活动。序列中最后一个活动通常是SetState活动。SetState活动指定了下一个迁移状态。

上一页  1 2 3 4 5 6 7  下一页

Tags:WF 编程 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接