2008年2月23日 星期六

L07 系統的製程(10)──Module Interface的層次

如果製作的只是單次使用的性質,而且功能需求特別到未來幾乎不會再reuse,那麼之前所獲得的Module Diagram就是我們開發的基準。但是想要做一個可以reuse的系統的話,勢必要再為通用Module製作不同reuse基準的Interface關係。

我會為所有的通用Module Interface準備四個不同reuse基準,分別是基本、行業用、系統用與專案專用。專案專用是只在這個客戶才需要的功能,現在的Module Diagram裡的Interface都是專案專用的;系統別是特定行業的特定系統才會使用的;行業別是在那個行業的所有系統都適合的;其他在任何場合都可以使用的功能則放在基本。

分層的好處在於未來的reuse可以直接繼承符合自己需要的那層,但相對的現在得佈置四層Interface(當然未來也有四層class等著實作),同時每一個定義的方法都要逐一確認應該放置到哪裡。大多數人會認為因為未來不確定的需要而在現在花時間去做是很不值得的,所以都只做出專案專用的這層;這樣的作法在未來真有reuse的需要時,就絕對只能copy-paste形成另一套系統再作修改,所以我寧可多花少許時間佈置好這些架構以避免未來更難維護。

哪些Model要切分多個層次是見仁見智的,不過基於要做就一次做到好的念頭,我都會全部一次定義。下圖是兩個Module的範例。

沒有留言:

張貼留言