2007年9月22日 星期六

E14 Project Controller(1)──Controller Flow Engine

最基本的Controller很自然地就只是一個Class,處理的流程與每個步驟都寫在裡面;在較好的設計下,我們應該得到處理的流程與步驟動作分開的結果。

在處理流程部分,雖然已將內容侷限在純粹的流程控制,但是到底還是以程式碼來實現,任何的內容變動都會造成影響而必須有後續的分析與測試。理想的設計會在這個部分以Flow Engine框架讀入使用者的定義檔案,再依內容來實行控制。

Flow Engine的控制概念,是定義通用的Flow Step介面,動作被封裝在實作該介面的類別裡,執行時指定第一個動作的Class進入執行,介面的執行方法會有傳回值,定義檔裡會定義每個動作Class執行後的所有傳回值各要跳往哪個步驟去執行。依此概念執行到沒有下一個動作Class為止。

在流程生命週期中,傳入的Context是負責存放Flow Engine內所有輸出輸入物件的唯一資料集合。Context對應Flow Engine的關係,就有如Data Model對應Controller的關係。

沒有留言:

張貼留言