Posted on 2008-11-08 14:01
Herbert 閱讀(376)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
設(shè)計(jì)模式
Composite模式和Decorator模式有點(diǎn)類似,但是Composite模式旨在構(gòu)造類,而Decorator模式重在不生成子類即可給對(duì)象添加職責(zé)。Decorator模式重在修飾,而Composite模式重在表示。
下面來看一個(gè)文件夾和文件的例子:

Component: 組合模式的抽象類
File : 文件類
Folder : 文件夾類
Folder類里面還需要有一個(gè)存放 Component 對(duì)象列表的成員,這樣一個(gè)Folder可以與多個(gè)Folder或者File關(guān)聯(lián)。它可以通過調(diào)用Add方法來添加一個(gè)文件或文件夾,通過Remove方來刪除一個(gè)文件或文件夾,同GetChild( index)來獲取第index個(gè)文件或文件夾。