在workflow中,工作流分为两种类型,顺序工作流(Sequential)和状态机工作流(State Machine)。

顺序工作流将一系列要执行的步骤以一种预先设计好的流程顺序执行。在这种工作流里,控制流程的是我们很熟悉的如if-else和while循环结构。顺序工作流的行为可以用简单的流程图来演示。每一个步骤都是很清楚地定义好的。这种工作流有着确定的起点与终点,我们不能随意跳转到中间的某个点上,唯一能做的只有从头开始。

状态机工作流则并不定义固定的流程,它们定义一组状态,包括状态之间可能存在的转移。每个状态可以转移到一个或多个其它状态上去。执行这样的工作流不一定要从第一个状态开始。这就允许工作流被打断,然后根据需要恢复。在WF中,状态的转移是通过宿主应用程序引起的外部事件触发的,这就意味着工作流的控制完全是交由外界完成的。

具体在设计时该选择哪一种工作流是一个很重要的问题。一般来说,判断的依据就在于控制工作流走向的重要选择是发生在工作流的内部还是外部,是否由用户进行控制。顺序工作流在本质上是对工作流的路径建模,将路径信息都编码到了模型之中;而在某些时候,我们并不关心工作流的路径,我们只关心当前的工作流状态,并且有哪些可能的选择会跳转到某个另外的状态,这就是后一种情况,应该采用状态机工作流。

workflow工作流类型及其区别相关推荐

  1. 企业级开发:Gitflow Workflow工作流

    http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p/104fa8b15d1e http://www.jianshu.com/p ...

  2. Git workflow工作流及边角知识

    Git workflow工作流及边角知识 开篇 workflow工作流 rebase onto reset revert 开篇 Git是个老生长谈的问题了,如何在工作协作中使用Git,不同团队有不同的 ...

  3. Git三大特色之WorkFlow(工作流)

    开篇 Git 三大特色,分支,暂存区,工作流,今天终于要写到 WorkFlow 了,我彷佛已经看到胜利的曙光,走起. 何谓工作流 WorkFlow 的字面意思,工作流,即工作流程.在分支篇里,有说过这 ...

  4. go 方法接受者 是指针类型和非指针类型的 区别

    go 方法接受者 是指针类型和非指针类型的 区别 非指针类型 package mainimport "fmt"// 定义接口 type Car interface {GetName ...

  5. 数据库中的字段varchar类型和char类型的区别?

    数据库中的字段varchar类型和char类型的区别? 目录 数据库中的字段varchar类型和char类型的区别?

  6. mysql timestamp json_mysql中timestamp,datetime,int类型的区别与优劣

    mysql中timestamp,datetime,int类型的区别与优劣 int 1. 占用4个字节 2. 建立索引之后,查询速度快 3. 条件范围搜索可以使用使用between 4. 不能使用mys ...

  7. reg类型变量综合电路_verilog中reg和wire类型的区别

    verilog 中 reg 和 wire 类型的区别 reg 相当于存储单元, wire 相当于物理连线 Verilog 中变量的物理数据分为线型和寄存器型.这两种类型的变量在定义时要 设置位宽,缺省 ...

  8. [转载]实际举例C#引用类型和值类型的区别

    http://www.cnblogs.com/coolbeibei/archive/2009/03/23/1419706.html 实际举例C#引用类型和值类型的区别 我们都知道,c#的两大数据类型分 ...

  9. Database:Database数据库的简介、类型及其区别(关系数据库VS非关系型数据库)、案例应用之详细攻略

    Database:Database数据库的简介.类型及其区别(关系数据库VS非关系型数据库).案例应用之详细攻略 目录 Database数据库的简介 1.掌握数据库的方法-学会sql语言进而学会增.删 ...

最新文章

  1. 不舍得卸载!推荐8个私藏APP,每一款都堪称精品
  2. 计算机领域经典巨著TAOCP卷3上市!【含赠书】
  3. [LintCode] Fast Power
  4. Qt修炼手册10_QTableWidget控件使用说明及实践
  5. Android魔法(第三弹)—— 一步步实现对折页面
  6. php隐藏做上传图片,php做图片上传功能
  7. java设计模式面试,深入分析
  8. python 自动赚钱软件排行榜_微任务兼职平台app下载
  9. java中的执行顺序_Java中的执行顺序
  10. Lights off(关灯游戏)终极算法
  11. C++ | Qt编译DLL
  12. 计算机不能识别华为手机,华为手机链接电脑无法识别是为什么?
  13. onlyoffice开发java,利用 ONLYOFFICE 将在线文档编辑器集成到 Python Web 应用程序中
  14. Jmeter java取样器实现
  15. 单片机搭建环境烧录方法_万物互联-stm32单片机简介、烧录、编程及其项目环境搭建...
  16. 【产业互联网周报】2019年我国软件业务收入71768亿元,同比增15.4%;亚马逊、谷歌先后发布财报,披露云计算业务增长...
  17. 法国优秀的五位数学家
  18. FFmpeg —— MP4转FLV(带关键帧)
  19. 哈希表解决冲突的两种方式
  20. CCF:201712-4 行车路线

热门文章

  1. SpringBoot从入门到精通教程(二十九)- 微信企业支付集成(五分钟集成)
  2. 实践篇·让你的图片特别起来—自定义像素化
  3. 根 ssl 2668 优美的暴力
  4. 在Win7中设置PPT放映时显示备注
  5. 第一周-2.3成绩排序
  6. 三菱DPLSR无故不执行问题
  7. post请求https安全证书问题2.0
  8. v7000更换电池步骤_[原创]IBM V7000 SVC更换已经告警的UPS电池详细步骤
  9. PCI GXL系统测试报告1(支持混合传感器)
  10. windows 网络远程连接samba,并修改windows默认连接samba端口445到指定端口(支持监听ipv6 及ipv4 IP地址)