狀态機工作流
狀态機工作流通常用于模拟不能被預測人類行為時的事件流的一種替代方案,例如,在一個審批流程中,當事件驅動流程執行的過程,通常作為外部事件和導向轉換, 通常作為外部事件和引導其他可能的狀态之間的轉換。狀态機工作流的必須包括initial狀态和 final 狀态,用以表示該程序的啟動和完成狀态。這是一個靈活的邏輯流程,可以在工作流的狀态間來回循環,因為外部事件驅動一個狀态機工作流,他們在本質上是被動的。

這裡面包含幾個比較重要的基礎元素
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實作[進入狀态],[結束狀态]