10組合模式

2021-07-25 17:48:41 字數 1433 閱讀 4359

組合模式

《設計模式其實很簡單》筆記

①定義:

將物件組成樹形結構以表示「部分-整體」的層次結構。

組合模式使得使用者對單個物件和組合物件的使用具有一致性。

②理解:

樹和子樹,即整體與部分。在樹形結構中,部分和整體有著類似或相同的結構,所以可以將部分和

整體一致對待

//樹中分支節點與葉子節點的抽象父類

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 每個產品都可以往裡面再新增子產品 至於有些產品不能再新增子產品,這裡我們一會會詳細說,大家先記住這一...