2007年9月25日 星期二

E17 Project Controller(3)──Controller處理狀態的保留與重現

Controller實作的時候,我們大多會宣告變數(少數會用物件)來暫存執行時的狀態,這些大多發生在程式裡,即使在設計Flow Engine也是如此。這樣的設計會使得執行狀態只能在同一部電腦內被控制。

宣告一個類似Context的執行狀態存放區,裡面記錄著執行Flow Engine時的定義檔全部有哪些步驟,各個步驟是否已經執行過而且結果為何,同時讓它像Context那樣可以輸出為字串並再生回物件。這樣一來我們就有機會做到在這裡做到一半的流程,傳送到另一部機器繼續處理(當然要包括Context一起);或是每做完一步驟就將之儲存下來,如因故中斷時可以叫起來接著再做。

這個概念也如何Context般,可以使得測試與除錯變得更加方便。可以想像一下,在一個重要的測試動作前如果必須連上客戶大型主機,又要準備特殊資料時的不便;在花時間準備一次資料後,記錄下該動作執行後的狀態與Context,就能夠只針對指定的Flow Step作密集的測試。

執行狀態資料區可以附屬在Context裡,每次執行前都初始化其狀態。執行狀態跟著Context搬移將能夠更快速地取得與對照。

沒有留言:

張貼留言