設計模式 15 組合設計模式

2021-09-22 10:06:46 字數 889 閱讀 2204

目錄

什麼是組合模式

為什麼要用組合模式

組合模式組成

由每乙個單元節點,組合成乙個整體節點,這種對單個節點的結構儲存和對整體節點的儲存和處理邏輯保持一致的設計模式便是組合設計模式。

應用中有很多場景會用到組合模式,例如樹狀儲存的結構,比如多級選單,每一層級選單的處理都可以抽象保持一致。比如企業的組織架構,員工都具有一些共同的屬性,而區別在於相應有無下屬員工。

抽象節點

public abstract class node 

public void info()

public abstract void add(node node);

public abstract void remove(node node);

public abstract listgetchildren();

}

具體節點

public class nodeobj extends node 

@override

public void add(node node)

@override

public void remove(node node)

@override

public listgetchildren()

}

測試驅動

public class client 

public static void displey(node root)

} }}

設計模式利劍15 組合模式

定 義 將物件組合成樹形結構以表示 整體 部分 的層次結構,使得使用者對單個物件和組合物件的使用具有一致性 優 點 1 高層模組呼叫簡單 2 節點自由增加 使用場景 1 你想表示物件的部分 整體層次結構 2 你希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。總結 組合...

設計模式考前預習 15 組合模式

整體和部分可以被一致對待。組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者服單個物件和組合物件的使用具有一致性。透明方式和安全方式 透明方式 也就是說在component中宣告所有用來管理子物件的方法,其中包括add remove等。這樣實現component介面的所...

設計模式8 組合模式

組合模式首先想到的就是樹形結構,比如我們常用的檔案結構,請看windows的檔案結構 無論是檔案或者是資料夾,常用操作都是一致的,比如 複製 貼上 剪下 刪除 所佔空間大小。我們並沒有刻意的去分他是資料夾還是檔案。我們可以把資料夾看成是組合物件,把每乙個檔案看成是單個物件。組合模式模糊了這兩個概念,...