目的 | 将对象组合成树形结构,用于表示部分—整体关系 |
应用场景 | (1)表示对象的部分——整体结构 (2)用户同一使用该接口所有对象,忽略组合对象与单个对象不同 |
构成 | 抽象构件、树叶构件、树枝构件 |
备注 | 文件、文件夹与文件夹的关系可以看成部分——整体关系 |
组合模式由抽象构件、树叶构件、树枝构件等组成
(1)抽象构件:声明树叶构件和树枝构件公共接口的默认行为。
(2)树叶构件:叶节点对象,没有子节点,实现了抽象构件中声明的公共接口。
(3)树枝构件:分支节点对象、有子节点,实现了抽象构件中声明的接口,主要作用是操作和存储子部件,包含添加、移除等方法。