組合模式 統一的公司結構

2021-10-11 21:40:38 字數 2165 閱讀 5915

組合模式(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為組合中的物件介面宣告,適當情況下,實現所有類共有介面的預設行為,...