2007年7月31日 星期二

C19 Controller的設計(1)──Business Logic


這張圖是我所認定整個系統具有的完整層次。Controller的部分是以淡藍色所顯示的部分。

在Controller裡所要設計的是輸入結束後的系統處理,通稱為Business Logic的部分。第一個進入的Controller是對應Use Case的Activity Diagram的控制物件,本身只負責流程該換到哪個Activity執行而不要有任何其他的實作摻雜在裡頭。

第二層的Activity Controller裡是Activity應有的邏輯控制,在設計的時候同樣先用文字簡單表達處理的步驟,每一個小步驟都對應到一個Controller Service裡的方法。同樣地這裡純粹是控制,不要有其他的處理。有些系統的開發會把這兩層的控制包裝成Operation Flow與Operation Step的交易流程套件來減少額外的開發。

實作的功能都放在Controller Service這一層裡。比對View Service來看,我們可以發現Service才是系統真正放置功能的地方,唯有在這裡才允許存取或操作到不同層級的物件。在Service裡都是處理動作的實作,每個動作的設計都必須決定是要使用現有的Component、自己設計新的適用Component或是自己寫程式在方法裡處理。(這裡的Component必須與Business Logic無關)在確認Service動作的同時也必須要設計或定義使用Component的介面。

驅動程式各部件運作的關鍵層次,就是Service;經由這裡存取Model與View,並達成與外部的連接,一切功能需求裡提到的系統互動動作,大多會在這個層次實現。

沒有留言:

張貼留言