工作流模式详解之流程控制模式(10)——Arbitrary Cycles

1. 理论模型

  我觉得这个模型中文名字应该为"自然循环",可能更贴近其实际意图。

  工作流模式详解之流程控制模式(10)——Arbitrary Cycles

  这个模式可以说不是针对直接"套现"的情况,主要是流程设计的过程中自然形成循环。而这种在绘制流程图时候所形成的自然循环,没有明确的循环入口或者出口。就如在编写程序上使用 goto 而形成的循环情况。

2. 应用

  这个模式从纯模型的角度来说,属于 XOR-join、XOR-split 的不同组合。主要是业务需要而自然形成的循环,因此该模式可以说并非能在设计上主观套用所能达到。

  譬如一个审批业务,若某一个审批人不通过,便返还给提出申请的人重新修改资料,这样多次往复直到结果满意为止。在电子政务的审批流程中非常的常见。

  因为是自然形成的循环,所以这个模式界限较为模糊,没有明确的循环入口,也可能没有明确的循环出口,还有可能多个入口,多个出口。

3. 一点思考

  在我的个人观点来说,这一种模式尽量少用。自然形成的循环具有开放性,在大部分的情况下(并非所有情况),并不算是一种成熟的考虑。尤其是这个流程之中夹杂着各种不同性质的 split,稍微推演一下就能发现这个模式在"重入"的时候,就需要考虑许多细节的问题。

  除了一些需要紧密关联上下文的情况以外,若在流程设计中出现了这种模式,那也能从一个侧面反映设计者的思维过程:先斩后奏,或者换种说法是做了再算。在大部分的情况下,最好要有明确的循环入口点,已形成一个"有计划"的循环结构,如 (21)Structured Loop,和 (22)Recursion 这两个模式。

  不过有时候使用这个模式能让流程的设计赏心悦目,那就不惮以最大的敬意使用这种模式。

你可能感兴趣的:(设计模式,工作,电子政务)