定义
用小的对象来构建更大的对象,而这些小的对象本身也可能是有更小的对象构成。
用途
组合模式将对象组合成树形结构,以表示 部分-整体的层次结构。此外还可通过对象的多态性表现,使得用户对单个对象和组合对象的使用具有一致性。如下:
- 在命令模式中的宏任务,通过定义一系列的指令,且通过一个 MacroCommand 来执行一系列指令的 execute。 所以组合模式可以很方便的描述对象的 部分-整体 的层次结构
- 利用对象多态性统一对待组合对象和单个对象。可以使客户端忽略组合对象和单个对象的不同。在组合模式中,客户将统一地使用组合结构中的所有
对象,而不需要关心它究竟是组合对象还是单个对象。