設計模式 組合模式

2022-02-14 07:23:26 字數 1292 閱讀 2946

組合模式,他的宗旨是通過將單個物件(葉子節點)和組合物件(樹枝節點)用相同的介面進行表示,使得客戶對單個物件和組合物件的使用具有一致性,屬於結構型設計模式。

組合模式一般用於描述整體與部分的關係,它將物件組織到樹形結構中,頂層的節點被稱為根節點,根節點下面可以包含樹枝節點和葉子節點,樹枝節點下面又可以包含樹枝節點和葉子節點,結構如下:

使用場景:

透明組合模式是把所有的公共方法都定義在父類中,這樣的好處是客戶端無需分辨葉子節點和樹枝節點,都具有完全一致的介面。

public abstract class component 

public boolean addchild(component component)

public boolean removechild(component component)

public component getchild(int index)

}//樹枝節點

public class composite extends component

return sb.tostring();

}public composite(string name)

@override

public boolean addchild(component component)

@override

public boolean removechild(component component)

@override

public component getchild(int index)

}//葉子節點

public class leaf extends component

@override

public string operate()

}

測試:

public class test 

}

uml類圖

安全組合模式之規定系統各個層次的最基礎的一致行為,而把組合(節點)本身的方法放到自身中,可以避免葉子節點引入冗餘方法。

需要修改父類

public abstract class component 

}

組合模式 設計模式 組合模式

1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...

設計模式 組合模式 組合模式使用

目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...

設計模式 組合設計模式

組合模式 composite pattern 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...