为什么要使用工作流引擎
2015-08-27 17:20
197 查看
最初做工作流的时候,用一个状态位去标示 现在的状态,比如 1 ,2,3,4
然后状态是1的时候处理了就变成状态是2
如果有一些回退或者其他的状态改变,那么 需要动态的去判断,当前的state是什么, 如果是 2,3,4 可以退回到1.
这些工作流程状态 其实跟我们的业务逻辑没多大关系, 比如请假 ,
理想状态, 请假 基础信息录入到基础信息表, 请假审批1 保存到 请假审批表 (显示基本信息),请假审批2 保存到请假审批表 (显示基本信息 和 审批1信息) ,
最终审批 显示 前面所有的信息。
我只想写个保存操作就好了,不想在把流程状态和下一步责任人 也写到我的业务逻辑里面。
这个时候工作流 引擎出现了,在各个审批过程中,你只需要 complete (activity为例) 方法就好了,不用管现在是谁审批,到什么地步了,下一步谁审批,就成功的把恶心的状态编码 和 责任人 剥离了,哪怕以后多几个人审批,或者少几个人审批,你只需要改下工作流的配置文件就OK了。。
然后状态是1的时候处理了就变成状态是2
如果有一些回退或者其他的状态改变,那么 需要动态的去判断,当前的state是什么, 如果是 2,3,4 可以退回到1.
这些工作流程状态 其实跟我们的业务逻辑没多大关系, 比如请假 ,
理想状态, 请假 基础信息录入到基础信息表, 请假审批1 保存到 请假审批表 (显示基本信息),请假审批2 保存到请假审批表 (显示基本信息 和 审批1信息) ,
最终审批 显示 前面所有的信息。
我只想写个保存操作就好了,不想在把流程状态和下一步责任人 也写到我的业务逻辑里面。
这个时候工作流 引擎出现了,在各个审批过程中,你只需要 complete (activity为例) 方法就好了,不用管现在是谁审批,到什么地步了,下一步谁审批,就成功的把恶心的状态编码 和 责任人 剥离了,哪怕以后多几个人审批,或者少几个人审批,你只需要改下工作流的配置文件就OK了。。
相关文章推荐
- 【Developer Log】Log4j v2
- c++ string用法
- 使用ssh进行远程连接以及远程跳板以及scp远程上传下载文件说明
- Cocoa error 3840
- POJ 1014 Dividing
- KCore算法
- 2015-0827-osg学习历程2
- Fuse文件系统优化方案
- poj 1466 HDU 1068 Girls and Boys (最大独立集)
- cacti监控服务器
- PHP 和 Python实现Project Euler 1、2题
- 处理一些warning
- 非循环链队类C++定义
- 端口被占用的解决办法和jdk配置问题
- 一道阿里面试题(js)
- OPENWRT make defconfig错误之一
- 限时授权复制文件 1.0(2015.9.2更新)
- 拷贝
- iOS的各种加密方法使用简介
- 【leetcode】Rotate Array【java】