一、 合成(Composite)模式合成模式有時(shí)又叫做部分-整體模式(Part-Whole)。合成模式將對象組織到樹結(jié)構(gòu)中,可以用來描述整體與部分的關(guān)系。合成模式可以使客戶端將單純元素與復(fù)合元素同等看待。 從和尚的故事談起 這是小時(shí)候我奶奶講的故事:從前有個(gè)山,山里有個(gè)廟,廟里有個(gè)老和尚在給小和尚講故事,講的什么故事呢?從前有個(gè)山,山里有個(gè)廟……。奶奶的故事要 循環(huán)多少次,根據(jù)你多長時(shí)間睡著而定。在故事中有山、有廟、有和尚、有故事。因此,故事的角色有兩種:一種里面沒有其它角色;另一種內(nèi)部有其它角色。 對象的樹結(jié)構(gòu) 一個(gè)樹結(jié)構(gòu)由兩種節(jié)點(diǎn)組成:樹枝節(jié)點(diǎn)和樹葉節(jié)點(diǎn)。樹枝節(jié)點(diǎn)可以有子節(jié)點(diǎn),而一個(gè)樹葉節(jié)點(diǎn)不可以有子節(jié)點(diǎn)。除了根節(jié)點(diǎn)外,其它節(jié)點(diǎn)有且只有一個(gè)父節(jié)點(diǎn)。 注意:一個(gè)樹枝節(jié)點(diǎn)可以不帶任何葉子,但是它因?yàn)橛袔~子的能力,因此仍然是樹枝節(jié)點(diǎn),而不會成為葉節(jié)點(diǎn)。一個(gè)樹葉節(jié)點(diǎn)永遠(yuǎn)不可能帶有子節(jié)點(diǎn)。
|
|
|