狀態機工做流
狀態機工做流一般用於模擬不能被預測人類行爲時的事件流的一種替代方案,例如,在一個審批流程中,當事件驅動流程執行的過程,一般做爲外部事件和導向轉換, 一般做爲外部事件和引導其餘可能的狀態之間的轉換。狀態機工做流的必須包括initial狀態和 final 狀態,用以表示該進程的啓動和完成狀態。這是一個靈活的邏輯流程,能夠在工做流的狀態間來回循環,由於外部事件驅動一個狀態機工做流,他們在本質上是被動的。spa
這裏麪包含幾個比較重要的基礎元素
State Entry(進入狀態),State Exit(離開狀態),Transitions(過渡),Trigger(觸發器),Condition(條件),Action(行爲),Final State(最終狀態)
Transitions:狀態機使用
Transitions用於使從一個狀態切換到另外一個。狀態的邏輯流程可被轉換,
Transitions只能流的一個方向。因此,若是狀態從一個狀態到另外一個的變化而後再返回到原來的狀態,必須通過兩個
Transitions
Trigger: 能夠經過用
Trigger執行自定義的代碼 bookmark activity ,通常作爲bookmark activity 容器。
Condition:用於判斷一個bookmark activity 活動被激活後的狀態轉換的成功與否的表達式
總結
這是一個在NET 4.0 中實現的功能,FlowChar徹底能夠實現StateMachine 的全部業務邏輯,將FlowChar的結構展示成StateMachine ,經過攔截Bookmark實現[進入狀態],[結束狀態]blog