設計模式之組合模式

2021-07-08 18:40:54 字數 1153 閱讀 9748

模式定義:

將物件組合成樹形結構以表示「部分和整體」的層次結構,使使用者對單個物件和組合物件的使用具備一致性。

模糊了簡單和複雜,使客戶在處理的時候不用區分。可以優化處理遞迴和分級結構,典型的目錄結構。

遵循原則:

面向抽象程式設計;

統一對待單個和組合物件。

適用場合:

(1)想表現部分與整體的層次結構的時候;

(2)使用者希望統一對待單個物件和組合物件的時候。

知識擴充套件:

jdk中的container就是完美的實踐者。

public abstract class emp

public void printbaseinfo()

public abstract void addemp(emp emp);

public abstract emp removeemp(string no);

public abstract void printempsinfo(int layer);

protected void printchar(int layer)

@override

public void addemp(emp emp)

@override

public void printempsinfo(int layer)

@override

public emp removeemp(string no)

}public class manager extends emp

@override

public void addemp(emp emp)

@override

public void printempsinfo(int layer)

printchar(tem);

list.get(i).printbaseinfo();

list.get(i).printempsinfo(tem);}}

@override

public emp removeemp(string no)

if(no.equals(list.get(i).getno()))}}

return emp;}}

測試public class client

}

設計模式之組合模式

組合模式 以 整體 部分 的層次結構,將物件以樹型結構組合起來。如下圖所示 組合模式首先得定義乙個用來管理和訪問部件們的抽象類。public abstract class equipment 再建立乙個組合體的部件 class element equipment 現在我們再來定義乙個組合體,也就是組...

設計模式之 組合模式

有時候我們需要維護一些物件,這些物件具有一定的層次結構,它們之間雖然差異很大,但在使用的時候我們希望能構一致的對待,比如windows控制項,繪圖中的圖形等,這個時候我們就可以採用組合模式來進行管理。組合模式就是將要管理的物件按樹型結構來進行組織,表示成一種 整體 部分 的層次結構,使得使用者對單個...

設計模式之組合模式

組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。使得使用者對單個物件和組合物件的使用具有一致性。適用性 想表示物件的部分 整體層次結構,希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。典型表示結構圖 宣告組合中的物件宣告介面 在適當的情況下,實現所有類共...