如果不知道的可參考《Workflow Patterns-2002》
工作流20種基本模式的理解(當然了,后人陸續(xù)擴展、變化,模式數(shù)量不斷變化,但萬變不離其宗,可從這些基本模式看起)
下面是我的初步分析:
模式名稱 |
模式關(guān)鍵字 |
模式說明 |
Basic Control Patterns |
||
Sequence |
Sequence |
1 |
Parallel |
AND Split |
2 |
Synchronization |
AND Join |
3 |
Exclusive Choice |
XOR |
4 |
Simple Merge |
XOR Join |
5 |
ADVANCED BRANCHING AND SYNCHRONIZATION PATTERNS |
||
Multiple Choice |
OR Split |
6 |
Synchronizing Merge |
AND Join |
7 |
Multi-merge |
OR Join(+Multi) |
8, |
Discriminator |
OR Join(+Reset/Ignore) |
9 |
N-out-of-M-join |
OR Join(+Multi M) |
|
STRUCTURAL PATTERNS |
||
Arbitrary Cycles[自由循環(huán)] |
XOR |
10 |
Implicit Termination |
Multi(OR/AND) |
11 |
PATTERNS INVOLVING MULTIPLE INSTANCES |
||
MI without synchronization |
Runtime independent thread by condition |
12,在運行期創(chuàng)建獨立實例(線程、程序等) |
MI with a priori known design time knowledge |
Design time priori Instance |
13,設計期多實例,且需全部完成 |
MI with a priori known runtime knowledge |
Runtime multi Instance by condition/free |
14,運行期可基于條件創(chuàng)建多實例 |
MI with no a priori runtime knowledge |
Runtime multi Instance free by people |
15,運行期可手工隨意創(chuàng)建多實例 |
STATE-BASED PATTERNS |
||
Deferred Choice |
XOR Split(By choice) |
16,“推著走”流程,或基于既定條件分支 |
Interleaved Parallel Routing |
OR |
17,多分支聚合,分支執(zhí)行順序由運行期確定 |
Milestone |
Wait by Milestone |
18,在“里程碑”節(jié)點等待 |
CANCELLATION PATTERNS |
||
Cancel Activity |
Cancel in specified Activity |
19,在指定的活動取消 |
Cancel Case |
Cancel Anywhere/Anytime |
20,任意時候可取消 |
可以看到,其實很多是類似的,這為下一步的工作流引擎需求、設計打下基礎(chǔ)。
拋磚引玉,供大家參考。