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

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