《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 4.0 beta1中的跟踪机制
- ››WF 4.0的建模风格:顺序和Flowchart
- ››WF4.0 Beta1之旅(5):规则引擎的变化
- ››WF 4.0 beta1活动概览(1):Procedural
- ››WF4.0 Beta1之旅(4):Bookmark的使用
- ››WF4.0 Beta1之旅:基本介绍
- ››WF4.0 Beta1之旅(2):异常处理
- ››WF4.0 Beta1之旅(3):全新的FlowChart
- ››WF 应用场景指南: SharePoint 与工作流(上)
- ››WF 应用场景指南: 展现流(Presentation Flow)
- ››WF单元测试系列1:测试基本的Activity
- ››WF单元测试系列2:简单测试Activity的行为
更多精彩
赞助商链接