本文為敏捷軟件開發(fā) - 原則、模式與實(shí)踐系列的一部分。
本文對(duì)應(yīng)原書第23章
COMPOSITE模式是一個(gè)非常簡單但具有深刻內(nèi)涵的模式。

圖1
上圖中展示了COMPOSITE模式的基本結(jié)構(gòu)。圖中是一個(gè)形狀類層次結(jié)構(gòu)?;怱hape有兩個(gè)派生類:Circle和Square。第3個(gè)派生類時(shí)一個(gè)組合體。CompositeShape持有一個(gè)含有多個(gè)Shape實(shí)例的列表。當(dāng)調(diào)用CompositeShape的draw()方法時(shí),它就把這個(gè)方法委托給列表中的每一個(gè)Shape實(shí)例。
因此,對(duì)系統(tǒng)來說。一個(gè)CompositeShape實(shí)例就像是一個(gè)單一的Shape??梢园阉鼈鬟f給任何使用Shape的函數(shù)或者對(duì)象,并且它表現(xiàn)得就像是一個(gè)Shape。不過,實(shí)際上它只是一組Shape實(shí)例的代理。
完整內(nèi)容請查看敏捷軟件開發(fā) - 原則、模式與實(shí)踐系列