組合模式(composite pattern),又叫部分整體模式,屬於結構型模式,它建立了物件組的樹形結構,將物件組合成樹狀結構以表示「整體-部分」的層次關係。
組合模式使得使用者對單個物件和組合物件的訪問具有一致性,即:組合能讓客戶以一致的方式處理個別物件以及組合物件。
(1)建立抽象類
public
abstract
class
organization
public
void
setname
(string name)
public
organization
(string name)
//預設實現
public
void
add(organization organization)
public
void
remove
(organization organization)
public
abstract
void
print()
;}
(2)建立抽象類子類
public
class
university
extends
organization
@override
public
void
add(organization organization)
@override
public
void
remove
(organization organization)
@override
public string getname()
@override
public
void
print()
}}
public
class
college
extends
organization
@override
public
void
add(organization organization)
@override
public
void
remove
(organization organization)
@override
public string getname()
@override
public
void
print()
}}
public
class
department
extends
organization
@override
public string getname()
@override
public
void
print()
}
(3)測試
組合模式 設計模式 組合模式
1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...
設計模式 組合模式 組合模式使用
目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...
組合模式 設計模式系列之組合模式解析
今天為大家帶來死磕設計模式系列的第11個模式,屬於結構型模式的 組合模式。什麼是組合模式?組合模式解決了什麼問題?適用場景是什麼?將物件組合成樹形結構以表示 部分 整體 的層次結構。composite 使得使用者對單個物件和組合物件的使用具有一致性。如果業務中需要定義複雜的資料結構,可以用樹形巢狀來...