組合模式(composite)模式定義:將物件組合成樹形結構以表示"部分—整體"的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
使用場景:
分類:
**背景:總公司和分公司共用一套管理系統,無論是總公司還是分公司都有人力和財務部門,乙個系統全公司使用,要求分清結構且功能一致。
抽象公司類:有新增刪除下屬分公司,以及顯示和履行職責的功能。
具體公司類:用於實現介面,發展下屬分公司abstract
class
company
public
abstract
void
add(
company c)
;public
abstract
void
remove
(company c)
;public
abstract
void
display
(int depth)
;public
abstract
void
lineofduty()
;//履行職責
}
公司部門:無論是總公司還是分公司,都要有人力和財務這兩個部門。//具體公司類
class
concretecompany
:company
public
override
void
add(
company c)
public
override
void
remove
(company c)
public
override
void
display
(int depth)
//顯示
}public
override
void
lineofduty()
}}
客戶端://人力資源部
class
hrdepartment
:company
public
override
void
add(
company c)
public
override
void
remove
(company c)
public
override
void
display
(int depth)
public
override
void
lineofduty()
員工招聘培訓管理"
,name);}
}//財務部
class
financedepartment
:company
public
override
void
add(
company c)
public
override
void
remove
(company c)
public
override
void
display
(int depth)
public
override
void
lineofduty()
公司財務收支管理"
, name);}
}
顯示結果:static
void
main
(string
args)
結構模式 組合模式
組合模式 composite pattern 組合多個物件形成樹形結構以表示具有 整體 部分 關係的層次結構。組合模式對單個物件 即葉子物件 和組合物件 即容 器物件 的使用具有一致性,組合模式又可以稱為 整體 部分 part whole 模式,它是一種物件結構型模式。將物件組合成樹形結構以表示部分...
分公司 一部門 組合模式
組合模式 composite pattern 又叫部分 總體模式,將物件組合成樹形結構以表示 部分 總體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。組合模式使我們樹型結構的問題中。模糊了簡單元素和複雜元素的概念。客戶程式能夠像處理簡單元素一樣來處理複雜元素,從而使得客戶程式...
分公司 一部門 組合模式
19.1 分公司不就是一部門嗎?整體與部分可以被一致對待,19.2 組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構,組合模式使得使用者對單個物件和組合物件的使用具有一致性,namespace 組合模式 component為組合中的物件介面宣告,適當情況下,實現所有類共有介面的預設行為,...