大話設計模式讀書筆記(十六) 組合模式

2022-07-09 10:42:09 字數 1194 閱讀 9862

組合模式(composite):將物件組合成樹形結構以表示『部分-整體』的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。

*compoent為組合中的物件宣告乙個介面

*在適當情況下,實現所有類共有介面的預設行為。

*宣告乙個介面用於訪問和管理compoent的子部件

*/public abstract class compoent

//通常用add和remove方法來提供增加和移除樹葉或樹枝的功能

public abstract void add(compoent c);

public abstract void reomve(compoent c);

public abstract void display(int depth);

}

//leaf在組合表示樹葉節點,樹葉沒有子節點

public class leaf extends compoent

/*** 由於樹葉沒有再增加分支和樹葉,所以add和remove方法再實現他們沒有意義

* 但這樣做可以消除葉節點和枝節點在抽象層次的區別,他們具備完全一致的介面

*/@override

public void add(compoent c)

@override

public void reomve(compoent c)

@override

public void display(int depth)

}

public class composite extends compoent

@override

public void add(compoent c)

@override

public void reomve(compoent c)

@override

public void display(int depth)

}}

public class mian 

}

當你發現需求中是體現部分與整體層次的結構時,以及你希望客戶忽略組合物件和單個物件的不同,同一地使用組合結構的所有物件時,就應該考慮組合模式。

大話設計模式讀書筆記(十六) 組合模式

組合模式 composite 將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。compoent為組合中的物件宣告乙個介面 在適當情況下,實現所有類共有介面的預設行為。宣告乙個介面用於訪問和管理compoent的子部件 public abst...

大話設計模式讀書筆記 組合模式

人物 小菜,大鳥 事件 小菜遇到了乙個難題,他的公司開發了乙個oa系統,然後甲方希望在分公司推廣,共用同一套系統,於是大鳥推出了組合模式,傳給了小菜,解決了問題。組合模式 1.簡述了組合模式,闡述了原理,實現,還有部分疑問答疑 2.用組合模式解決小菜的問題例項 1.概念 將物件組合成樹形結構以表示 ...

大話設計模式筆記(十六) 組合模式

將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。組合物件 created by callmedevil on 2019 8 11.public abstract class component 通常都用add 和remove 方法來提供增加...