合成模式,又叫整体-部分(Part-Whole)模式。
合成模式将对象组织成树状结构,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等对待。
合成模式使用的场合:
1) 需要描述对象的部分和整体的等级结构。
2) 需要客户端忽略掉个体构件和组合构件的区别,客户端平等的对待所有的构件。
合成模式有优点:
1) 很容易地增加新种类的构件
2) 使用合成模式可以使客户端变得很容易设计,因为客户端不需要知道构件是叶子构件还是树枝构件。
合成模式的缺点:
1) 使用合成模式后,控制树枝构件的类型就不太容易。
2) 用继承的方法来增加新的行为很困难。


