組合模式就是指在頁面表現中,通過一條指令而達到在多個物件中的複雜的遞迴行為,就是通過控制乙個物件,不過該物件複雜的遞迴下去又是很多複雜的物件,同時控制物件的行為。這樣簡化**,可維護,複雜的物件的行為委託給乙個物件。
組合模式確實能對於工作能起到簡化作用,組合物件實現某一操作時,通過遞迴,向下傳遞到所有的組成物件,在存在大批物件時,假如頁面的包含許多擁有同樣功能的物件,只需要操作組合物件即可達到目標。在存在存在著某種的層次結構,並且其中的一部分要實現某些操作,即可使用組合模式。
下面是組合模式書上的例子,展示了表單驗證與閱讀器。
表單驗證中,需要做的工作是表單的儲存、恢復和驗證表單中的值,然而表單的數量是未知數,型別是未知數,只有功能能確定的情況下,使用組合模式無疑最好,通過給每個表單新增功能,然後乙個表單物件組合起來,通過操作表單物件即可達到操作表單。
組合模式通過簡單的操作就能達到複雜的效果,乙個操作通過遍歷遞迴傳遞這個操作。不過組合模式的弱點也在於此,如果層次過多,則效能將受到影響。
組合模式應用場所 應用在對一批物件具有相同的動作的情況下適用,並產生遞迴的條件下。即是符合兩個條件,一是產生遞迴,二是具有相同的動作。
設計模式之組合模式
組合模式 以 整體 部分 的層次結構,將物件以樹型結構組合起來。如下圖所示 組合模式首先得定義乙個用來管理和訪問部件們的抽象類。public abstract class equipment 再建立乙個組合體的部件 class element equipment 現在我們再來定義乙個組合體,也就是組...
設計模式之 組合模式
有時候我們需要維護一些物件,這些物件具有一定的層次結構,它們之間雖然差異很大,但在使用的時候我們希望能構一致的對待,比如windows控制項,繪圖中的圖形等,這個時候我們就可以採用組合模式來進行管理。組合模式就是將要管理的物件按樹型結構來進行組織,表示成一種 整體 部分 的層次結構,使得使用者對單個...
設計模式之組合模式
組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。使得使用者對單個物件和組合物件的使用具有一致性。適用性 想表示物件的部分 整體層次結構,希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。典型表示結構圖 宣告組合中的物件宣告介面 在適當的情況下,實現所有類共...