2009年2月12日 星期四

T16 根本的建立(3)──Component共同的RootComponent

基本Component只是負責元件內部各部分的合作運行,完全不會擔負元件實際上的任何功能。雖然基本Component已經是所有元件的Root,但這並不表示我們可以把元件的通用功能拉到基本Component放置──這樣的作法會導致元件內部運作與對外實際功能混合在一個Component裡,造成二對一的關聯。下一篇提到的功能的分隔界限剛好會落在這兩者之間,因此分離內部運作與對外功能是必要的。

將不同意義的事放在不同的對應範圍是讓設計具有彈性的作法。繼承基本Component的都是功能性的Component,為了放置抽取出來的功能需要建立一個RootComponent來放置所有Component都必定要做的動作。讓基本Component負責的是內部合作,RootComponent負責共用且與合作無關的功能。

參考上一篇產生UI元件的圖輸入所有的參數,並在eclipse裡的root專案新增對應的Package然後把產生的所有java file複製進去即可。

從RootComponent開始,每一個元件都有兩件事必須額外作到:內部物件的取得方法要cast成這個Component層級的Interface(已經在元件結構產生工具中處理),所有定義Method拋出的全部Exception都必須是這個Component層級的。每個單位都只使用自己層級所擁有的資源,才能便利於切割出自給自足的獨立單位。

元件庫現在的結構圖:

沒有留言:

張貼留言