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

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

 2010-10-01 08:20:51 来源:WEB开发网   
核心提示:在创建一个新的工作流时,需要做出一项重要的抉择:我们要创建的工作流究竟是一个顺序工作流,《WF编程》系列之46 第七章 事件驱动工作流,还是一个状态机工作流?WF提供了两种“即开即用的”(out of the box)工作流执行类型,为了回答这个问题,在下面的截图中,有一个状态机并具备两个状态:

在创建一个新的工作流时,需要做出一项重要的抉择:我们要创建的工作流究竟是一个顺序工作流,还是一个状态机工作流?WF提供了两种“即开即用的”(out of the box)工作流执行类型。为了回答这个问题,我们不得不决定谁在受控。

顺序工作流是一种预知的工作流。执行路径可能是分支、循环、或等待一个外部事件的发生,但是最终顺序工作流将会使用活动、条件和我们在前面章节所提供的必不可少的匹配规则。工作流在进程中受控。

状态机工作流是一种事件驱动的工作流。就是说,状态机工作流依赖于额外的事件来驱动工作流的完成。我们定义了工作流的合法状态,以及在这些状态之间的合法迁移。工作流总是在其中的一个状态中,并且不得不在迁移到一个新状态之前等待事件的到达。一般来说,重要的选择发生在工作流之外。状态机定义了要遵循的结构,但控制是属于外部世界的。

当我们能对工作流内部中的大多数决策进行编码时,我们会使用顺序工作流。当决策发生在工作流外部时,我们要使用状态机工作流。在本章中,我们将详细讨论状态机工作流是如何工作的。

什么是状态机?

状态机在计算机科学中已经应用了很长一段时间。你将会看到它们在反应系统(reactive system)中尤其流行,就像用于视频游戏和机器人这样的软件。设计者使用状态机为使用状态、事件和迁移的系统建模。

State,代表一种情形或环境。在下面的截图中,有一个状态机并具备两个状态:Power On状态和Power Off状态。状态机总是这两个状态中的一个。

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

1 2 3 4 5 6  下一页

Tags:WF 编程 系列

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