什么是工作流?
工作流顾名思义,就是一系列工作所组成的流程。
就像工厂加工产品一样,确认好生产步骤后,所有工人只需做好自己的事情即可。
比如我现在要做一个养鸡系统, 每一只鸡都需要依次通过唱、跳、RAP、篮球的考核,并且还要练习时长两年半,才能出售,否则就算是 “蔡鸡”,要打回去重新练习。
对应的流程图如下:
那如果让你来写代码实现这个逻辑,你会怎么写呢?
想必会是一大段的 if ... else ... 吧,像下面这样:
对于简单的程序来说,这样写没有问题。但在企业开发中,我们的业务流程往往是非常复杂的,比如下面这个系统:
再加上多人协作开发,大家都在一个文件里写 if else 也不现实。
所以为了更好地开发和维护工作流,我们一般会使用 工作流引擎
技术。可以通过可视化拖拽的方式来绘制流程图、并自动生成业务流程代码,而不用自己写 if else,大幅降低开发成本、非程序员也能用。
可视化绘制工作流
比较成熟的工作流引擎有 Activiti、flowable-engine 等等,但它们都需要一些学习成本,对于第一次接触工作流的同学来说,可能会有点复杂。
所以我选了一个相对轻量