Composite模式描述了如何使用遞歸組合,使得用戶不必對(duì)這些類進(jìn)行區(qū)別。

Composite的關(guān)鍵是一個(gè)抽象類,它既可以代表圖元,又可以你表圖元的容器。
參于者
Component
-
--在適當(dāng)?shù)那闆r下,實(shí)現(xiàn)所有類共有接口的缺省行為。
-
--聲明一個(gè)接口用于訪問和管理Composite的子組件。
-
--(可選)在遞歸結(jié)構(gòu)中定義一個(gè)接口,用于訪問一個(gè)父部件,并在合適的情況下實(shí)現(xiàn)它。
Leaf
-
--在組合中表示葉節(jié)點(diǎn)對(duì)象,葉節(jié)點(diǎn)沒有子節(jié)點(diǎn)。
-
--在組合中定義圖元對(duì)象的行為。
Composite
-
--定義有子部件的那些部件的行為。
-
--存儲(chǔ)子部件
Client
-
--通過Component接口操縱組合部件的對(duì)象。
適用性
你想表示對(duì)象的部份-整體層次結(jié)構(gòu)。
你希望用戶忽略組合對(duì)象與單個(gè)對(duì)象的不同,用戶將統(tǒng)一地使用組合結(jié)構(gòu)中的所有對(duì)象。
posted on 2008-01-22 18:04
Sam Wang 閱讀(127)
評(píng)論(0) 編輯 收藏