關於使用「狀態模式」做工作流概要。

2022-03-22 08:56:41 字數 2707 閱讀 3742

最近,以前一名同事問了一下工作流的事情,我現在將太概的模式寫一下。

臨時寫的,可能有點亂,如果需要建立乙個新的工作流模板的時候請新建乙個工作流序列類,職責單一便於維護。

using

system;

using

system.collections.generic;

using

system.text;

namespace

wfwork.dowork();}}

}//工作流抽象狀態

public

abstract

class

state

//工作流1

public

class

wf1 : state

步工作流完成!顯示內容

", w.currentstep

=w.currentstep -1

);}else

步工作流未完成!顯示輸入內容

", w.currentstep

=w.currentstep -1

);w.isstop

=true;}

w.setstate(

newwf1_1());

w.dowork();}}

//工作流1-1

public

class

wf1_1 : state

步工作流完成!顯示內容

", w.currentstep

=w.currentstep -1

);}else

步工作流未完成!顯示輸入內容

", w.currentstep

=w.currentstep -1

);w.isstop

=true;}

w.setstate(

newwfend());

w.dowork();}}

//工作流2

public

class

wf2 : state

步工作流完成!顯示內容

", w.currentstep

=w.currentstep -1

);}else

步工作流未完成!顯示輸入內容

", w.currentstep

=w.currentstep -1

);w.isstop

=true;}

w.setstate(

newwf2_1());

w.dowork();}}

//工作流2-1

public

class

wf2_1 : state

步工作流完成!顯示內容

", w.currentstep

=w.currentstep -1

);}else

步工作流未完成!顯示輸入內容

", w.currentstep

=w.currentstep -1

);w.isstop

=true;}

w.setstate(

newwf2_2());

w.dowork();}}

//工作流2-2

public

class

wf2_2 : state

步工作流完成!顯示內容

", w.currentstep

=w.currentstep -1

);}else

步工作流未完成!顯示輸入內容

", w.currentstep

=w.currentstep -1

);w.isstop

=true;}

w.setstate(

newwfend());

w.dowork();}}

public

class

wfend : state}//

工作public

class

work

}private

dictionary

<

int,

int>

steplist

=new

dictionary

<

int,

int>

();///

///步驟,狀態

///public

dictionary

<

int,

int>

steplist

set}

//////

是否啟用下乙個工作流

///private

bool

isstop

=false

;public

bool

isstop

set}

//////

當前的步驟

///private

intcurrentstep =0

;public

intcurrentstep

set}

//////

設定當前的工作流實現

//////

public

void

setstate(state s)

//////

操作工作流

///public

void

dowork()}}

工作流模式

工作流模式 工作流原理上有很多特定模式,可以用於工作流過程建模和分析。在研究工作流引擎時,這些是必不可少知識儲備 基本模式 5個 1 順序模式 按照順序執行各項活動,工作流流程中的乙個活動只有當另乙個活動完成後才能進行。如 當訂單登記活動完成後,客戶通知才可以進行。2 並行分支模式 同時執行兩個活動...

工作流模式

工作流原理上有很多特定模式,可以用於工作流過程建模和分析。在研究工作流引擎時,這些是必不可少知識儲備 基本模式 5個 1 順序模式 按照順序執行各項活動,工作流流程中的乙個活動只有當另乙個活動完成後才能進行。如 當訂單登記活動完成後,客戶通知才可以進行。2 並行分支模式 同時執行兩個活動。在流程中的...

工作流模式

21種工作流模式 基本模式 5個 順序模式 按照順序執行各項活動 並行分支模式 同時執行兩個活動 同步模式 同步兩個並行的執行執行緒 單選模式 從多條路徑中選擇乙個執行 簡單合併模式 合併兩個二選一路徑 高階分支與同步模式 5個 多選模式 從多條執行路徑中選出幾條 同步合併模式 合併多條路徑,如果有...