.NET 工作流: Slickflow开源工作流引擎高级开发(四) -- 硬核编码:代码式快速构建流程图
前言:通过设计器交互来创建流程图是比较常见的方式,这种方式是比较方便业务人员对流程的操作。然而,在需要流程模板,或者技术开发阶段以及一些自动化流程的处理过程中,使用代码快速创建流程图也是一种非常有必要的快捷途径。本文重点说明这种方法的实现过程和具体使用价值。
1. 交互式构建流程图
图形交互式一般是指通过界面进行节点元素拖动来绘制图形,并且,每个图像节点元素和连线元素的属性配置,都是逐一需要交互操作并且保存来完成的。其特点是清晰直观,在绘制图形的过程中,可以明确流程图形的整个流转过程。
对于流程使用涉及到的业务人员,图形交互是最适合的工具,因为业务人员不会深入到命令代码,他们只需要通过鼠标拖动、键盘输入和完成图形节点的编排就可以。
2. 代码式创建流程图
传统的图形交互方式是比较方便业务人员创建流程定义图的,图形GUI最大的优点是直观,形象,任何人都能理解;但是作为编程方式的计算机处理过程,代码式的命令脚本程序也是大行其道,因为其快速,高效和方便也是特别需要用到的。
就比如作为一个系统管理员来管理一台服务器,通常更多时候需要直接使用命令行的脚本工具,在Windows系统里面是PowerShell工具,在Linux平台下的系统管理命令,以及Bash等工具。如果没有这些命令级别的程序,那些神通广大的黑客几乎也无用武之地。所以正是这些代码式的脚本程序,极大地丰富了程序功能的强大。
2.1 代码示例
代码构建命令程序核心类是ProcessModelBuilder,下面就对其接口使用,做以特别示例。
2.1.1 简单串行流程图的代码构建
2.1.2 分支流程图代码构建
2.2 流程图展现
通过代码式构建,会直接生成流程图记录,流程图形分别展示如下。
2.2.1 简单串行流程图
2.2.2 分支流程图
3. 使用价值
虽然代码式快速构建对于业务人员没有直接使用到,或者对于引擎开发人员也不大会直接关注到。但是在一些技术领域,它的价值是显而易见的。暂时罗列两个方面供大家参考。
3.1 流程模板
如上述示例中,我们其实可以算是创建了两个类型的模板,一个是简单串行的流程图形,一个是带有分支的流程图形。假如我们提供给业务人员新建流程时,让他们选择具体是哪一种类型的模板时,这样会节省绘制流程图形中的每个节点或连线元素的时间。也减轻了业务或流程管理人员的工作量。
3.2 技术人员的利器
技术人员在进行大量流程数据开发或测试过程中,经常需要构建不同类型的流程图,想想一键生成带来的快捷极速体验,从而避免重复的拖拽及节点连线等繁琐操作,如果能够熟练使用和掌握这些命令行式的代码,确实无疑地会带来工作效率方面的显著提升。
4. 结论
通过对代码式构建流程图的工具开发,我们也清楚地认识到,代码式的快速构建流程图可以为不同类型的用户节约大量的时间,从而提升工作效率。而且,这一工具也在不断加强产品的核心竞争力。