設計模式 組合模式

2021-10-23 10:18:57 字數 2818 閱讀 7682

介紹組合模式的三大問題

採用乙個案例來說明問題

常見思路

建立乙個檔案類

folder

public

class

folder

list

folders;

list

files;

public

void

print()

for(

int i =

0; i < folders.

size()

; i++)}

public

void

addfile

(file file)

public

void

addfolder

(folder folder)

}

file

public

class

file

public

void

print()

}

reader

public

class

reader

public

void

read()

}

main

public

class

main

}/// out

name:

1 description:

1name:

2 description:

2name:

3 description:

3name:

4 description:

4name:

5 description:

5name:

6 description:

6name:

7 description:

7name:

8 description:

8

有什麼問題?

什麼是組合模式

使用組合模式改寫**

component

public

abstract

class

component

public string getname()

public string getdescription()

public

void

remove()

public

void

print()

}

file

public

class

file

extends

component

@override

public string getname()

@override

public string getdescription()

@override

public

void

print()

}

folder

public

class

folder

extends

component

@override

public

void

add(component component)

@override

public

void

print()

}}

reader

public

class

reader

public

void

read()

}

main

public

class

main

}// out

name:

1 description:

1name:

2 description:

2name:

3 description:

3name:

4 description:

4name:

5 description:

5name:

6 description:

6name:

7 description:

7name:

8 description:

8

組合模式有什麼好處?

不慕招式,勤修內功

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

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

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

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

設計模式 組合設計模式

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