組合模式(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 方法來提供增加...