組合模式
《設計模式其實很簡單》筆記
①定義:
將物件組成樹形結構以表示「部分-整體」的層次結構。
組合模式使得使用者對單個物件和組合物件的使用具有一致性。
②理解:
樹和子樹,即整體與部分。在樹形結構中,部分和整體有著類似或相同的結構,所以可以將部分和
整體一致對待
//樹中分支節點與葉子節點的抽象父類
public abstract class component
//增加分支/葉子節點的方法
public abstract void add(component component);
//移除分支/葉子節點的方法
public abstract void remove(component component);
//按照深度顯示樹形結構的方法
public abstract void show(int depth);
}//分支節點的類
public class composite extends component
//增加子節點
@override
public void add(component component)
//移除子節點
@override
public void remove(component component)
//展示結構
@override
public void show(int depth)
system.out.print(componentname + "\n");
for(int i = 0 ; i < childrenlist,size() ; i++) }}
//樹葉節點
public class leaf extends component
//增加子節點
@override
public void add(component component)
//移除子節點
@override
public void remove(component component)
//展示結構
@override
public void show(int depth)
system.out.println( componentname + "\n");
}}
④適用的地方:
當開發的**需要表示部分和整體的結構時
當希望使用者忽略組合物件和單個物件之間的不同時
⑤優點:
組合模式可以優化處理遞迴或分級資料結構。分級資料結構如計算機的檔案系統。
(10)組合模式
組合模式依據樹形結構來組合物件,用來表示部分以及整體層次。組合模式說白了就是乙個樹形結構。如某 的商品分類,如省市區等結構,這些都是樹形結構,都屬於組合模式。import j a.util.arraylist import j a.util.list 組合 public class demo pub...
設計模式(10) 組合模式
什麼是組合模式?組合模式是一種結構型模式,把多個物件組合為乙個整體,類似於在公司中,每個人都是員工,但是員工有上下級的關係,整個級別組合一起為公司整體,組合模式是一種簡單的設計模式 如何實現?public class employee public void add employee e publi...
23種設計模式 10 組合模式
一 常規實現 不安全 產品類 public abstract class product public string name 每個產品都可以工作 public abstract void work 每個產品都可以往裡面再新增子產品 至於有些產品不能再新增子產品,這裡我們一會會詳細說,大家先記住這一...