1.狀態機工作流
(1)狀態機工作流從state1 流轉到 state2 到stateN
(2) state中有執行狀態和退出狀態
(3) 在進入下一個步驟(state1 到 state2)前,首先會判斷進入下一個狀態的條件,下面我把它叫做判斷模塊
(4)在判斷模塊中,有三個生命周期:Trigger,Condition,Action
(5)判斷模塊會先進入Trigger,執行初始化,再進入Condition,判斷條件,條件滿足執行state1中的退出狀態代碼,然后進入判斷模塊的Action 繼續執行,如果不滿足條件,跳回Trigger再次執行觸發器的代碼.
2.代碼塊
(1)在代碼塊中可以建立書簽,可以阻斷流程的執行,並為下一次的繼續執行建立標識.
(2)代碼塊可以理解為一個方法,有輸入參數,輸出參數
(3)代碼塊輸入參數:可以在總的工作流中接收參數值,在context中拿到值,為書簽的創建提供必要的參數.
(4)代碼塊輸出參數,就像一個方法的返回值一樣,我們在重啟書簽的時候,用戶可以給重啟書簽的方法傳值,代碼塊拿到該值后可以通過context為總的工作流傳出參數值
3.工作流的參數
(1)工作流中的參數區別於代碼塊中的參數,
(2)用戶可以在啟動工作流的時候通過工作流參數為工作流傳值
(3)而代碼塊中的輸入輸出參數我們可以通過定義工作流變量來獲得,所以要區分兩種參數的關系可以把代碼塊當做一個方法來看待.(輸入參數就是輸入參數,輸出參數就是方法的返回值)
4.流程設計
(1)代碼塊寫在state中,條件判斷寫在判斷模塊中