設計模式筆記 組合模式

2021-10-11 02:29:24 字數 748 閱讀 1987

也叫合成模式,將物件組合成屬性機構以表示「部分-整體」的層次結構,使得使用者對單個物件和組合物件的使用具有一致性。

component:抽象構建角色(定義參加組個物件的共有方法和屬性,可以定義一些預設的行為或屬性)

public abstract class componet 

}

composite:樹枝構件(樹枝物件,作用是組合樹枝節點和葉子節點形成乙個樹形結構)

public class composite extends componet

public void remove(componet componet)

public arraylistgetchildren()

}

leaf:葉子構件(葉子物件,為遍歷的最小單位)

public class leaf extends componet

}

場景類:

public class client 

public static void display(composite composite)else}}

}

輸出結果:

componet dosomething

leaf dosomething

優點:高層模組呼叫簡單;節點自由增加

缺點:違背依賴倒置原則

設計模式筆記(十四) 組合模式

組合模式 composite 將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。透明方式 也就是說在component中宣告所有用來管理子物件的方法,其中包括add remove等。這樣實現component介面的所有子類都具備了add和re...

設計模式學習筆記 組合模式

定義 將物件組合成樹形結構以表示 部分 整體 的層次結構,使得使用者對單個物件和組合物件的使用具有一致性。組合模式主要用來處理一些具有 容器特徵 的物件,即他們在充當物件的同時,又可以作為容器包含其他的多個物件。也就是說組合模式表達的是一種樹形的結構,將資料結構中的 樹 用物件導向的方式表現出來了,...

設計模式學習筆記 組合模式

聽名字就像是把什麼東西組合在一起的設計模式,所以 組合模式就是將兩個類中的一些共同的方法抽象在一起然而,很多時候,一些類中的方法很明顯會不一樣,這裡,感覺 headfirst 上那個例子就挺好的,然後我做了下修改。public inte ce menuitem首先去設計乙個選單選項,一些和選單公有的...