使用组合模式有如下的好处: l 定义了饱含基本对象和组合对象的类层次结构,基本对象可以被组合成更复杂的组合对象,而这个组合对象有可以被组合。 简化客户代码 客户可以一直地使用组合结构和单个对象,通常用户不知道处理的是一个叶节点还是一个组合组件。 使得更容易增加新类型的组件, 新定义的Composite或leaf子类自动地与义有的结构和客户代码一起工作,客户程序不需要因为新的Component类而改变。 使你的设计变得更一般化。