该如何选择,顺序工作流(Sequential Workflow)还是状态机器工作流(State Machine Workflow)...

.Net framework 的 Windows Workflow Foundation 有两种工作流,一种是Sequential workflow 一种是State machine 工作流,在实际开发中我该如何做出选择呢? 
 
一般来说Sequential Workflow 用于流程已定的情况。什么是流程已定,这是说工作流的流向大体上不取决于外部的决定,比如贷款审批,流程基本上确定,并且其分支和循环也是规定好了的。又如文档审批,假期审批等都比较适合用Sequential Workflow.  一般Sequential Workflow 是不可逆的。除了循环Activity 外,一般一个Activity 执行完毕后便不再被执行。
State Machine 工作流则一般用于 方向不明确的事情当中,一件事完成(state activity)面临着很多不同的选择,并且,这个选择要依赖于人的决定(事件驱动)。State machine 往往是可逆的。一个状态(State Activity)有可能要被多次的执行。比如在线购物便可以看成一个state machine workflow. 工作流的进行往往有赖于外部事件(比如人)的推动。 再有,如看电视,可以开电视,可以关电视,可以随便转台,也可以专注看某个节目,状态与状态间并没有一个必然的顺序关系。如此,我们便可以使用state machine workflow.

一个流程很多时候 用Sequential Workflow 可以,用State Machine Workflow 也可以,但是正确的选择往往能更有效的使用WF, 节省成本,提高开发效率。有的时候,我们甚至要同时使用到两种工作流,一切都是为了满足现实的需求。



本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/182092,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值