摘要:[經驗] 流程狀態
條件的狀態流程
條件的狀態可以用來記錄流程目前的位置,也可以將各個流程要做的事情分開處理,讓程式寫起來比較容易,
例如要處理一件事情,最基本的狀態模型可以分為四種:0.未處理 1.繼續處理 2.處理中 3.處理完成
(這裡有個前提是狀態必須是只能同時被一個執行續處理的。)
接著主程式檢查這個狀態,進入到各自的流程:
0.未處理: 檢查是否可以處理的條件,若可處理,則然後初始化相關內容,並將狀態修改為繼續處理。
1.繼續處理: 到這邊主要會檢查是否停止處理的條件,若停止處理:
1.可分為移除處理工作
2.或者重新回到未處理狀態
若確定要處理:
1.就會將狀態設為處理中,並非同步執行要處理的內容。
2.處理中: 這個狀態不會放在主程式作狀態檢查,因為它正在非同步處理中,故不需要理它,
非同步處理後的結果會有兩種:
1. 遇到問題,需要重新處理,就將狀態改為繼續處理,並結束這個非同步工作,後續可自由回傳錯誤原因之類的。
2. 都處理完成,將狀態修改為處理完成,並結束這個非同步工作,後續可自由回傳成功訊息之類的。
3.處理完成: 一但確認完成後,可判斷相關條件,往兩個方向走:
1.可移除處理工作。
2.回到未處理,可能是循環工作,並可設置時間性條件(依性質決定要在初始化或處理完成來做)。