2007年9月23日 星期日

E15 Project Controller(2)──Controller Flow Step

根據商業邏輯的步驟,我們同樣要將聚合力較強的動作合併在同一個Flow Step裡,較弱的則分開到不同的Flow Step執行。這是專案裡流程設計的基本。Flow Step裡通常會有達成功能時自己的控制步驟,在這時可以用單一Controller的角度來設計內部。

每個Step Class在執行的時候都會傳入一個Context,在裡面取得傳入的物件,並將執行後需要傳出的物件放回;執行後的狀況以傳回值通知Flow Engine來決定下一個該呼叫哪個Flow Step。Flow Step裡所有的傳回值都應在Flow Engine上有相對的定義。

所有Flow Step都實作同樣的介面,這意味著每一個Flow Step可以任何一種次序來執行,只要我們在定義Flow Engine時注意Context內物件使用的先後關係,就可以自由定義執行的順序。Flow Step在設計時以完整達成一個特定功能為目標,因為這可以符合再進一步使用Web Service的要求。

沒有留言:

張貼留言