設計模式 組合模式

2021-08-22 18:04:42 字數 1276 閱讀 2186

介紹

組合模式/整體-部分模式主要用於處理樹形結構。組合模式對單個物件(葉子物件)和組合物件(容器物件)的使用具有一致性。角色

示例**

//抽象構件

public

abstract

class

component

//葉子構件

public

class

leaf

extends

component

@override

public

void

addcomponent(component c)

@override

public

void

removecomponent(component c)

@override

public component getchild(int i)

@override

public

void

operation()

}

//容器構件

public

class

composite

extends

component

private arraylistcomponents = new arraylist<>();

@override

public

void

addcomponent(component c)

@override

public

void

removecomponent(component c)

@override

public component getchild(int i)

@override

public

void

operation()

}}

//客戶端

public

class

client

}

透明組合模式 & 安全組合模式

上述**中儘管葉子構件不支援新增刪除等方法,但是仍然要實現該方法,從而實現客戶端可以完全面向抽象構件進行程式設計。因此上述的組合模式稱為透明組合模式。存在另外一種組合模式,即抽象構建中不宣告管理子構件的方法,而是把管理方法放在容器構建中,該種實現方法稱為安全組合模式,但是會導致客戶端不能夠完全面向抽象構件程式設計

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

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

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

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

設計模式 組合設計模式

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