Posted on 2008-11-08 14:01
Herbert 阅读(367)
评论(0) 编辑 收藏 引用 所属分类:
设计模式
Composite模式和Decorator模式有点类似,但是Composite模式旨在构造类,而Decorator模式重在不生成子类即可给对象添加职责。Decorator模式重在修饰,而Composite模式重在表示。
下面来看一个文件夹和文件的例子:
Component: 组合模式的抽象类
File : 文件类
Folder : 文件夹类
Folder类里面还需要有一个存放 Component 对象列表的成员,这样一个Folder可以与多个Folder或者File关联。它可以通过调用Add方法来添加一个文件或文件夹,通过Remove方来删除一个文件或文件夹,同GetChild( index)来获取第index个文件或文件夹。