目的 将对象组合成树形结构,用于表示部分—整体关系
应用场景

(1)表示对象的部分——整体结构

(2)用户同一使用该接口所有对象,忽略组合对象与单个对象不同

构成 抽象构件、树叶构件、树枝构件
备注 文件、文件夹与文件夹的关系可以看成部分——整体关系

 

 

 

 

 

组合模式由抽象构件、树叶构件、树枝构件等组成

(1)抽象构件:声明树叶构件和树枝构件公共接口的默认行为。

(2)树叶构件:叶节点对象,没有子节点,实现了抽象构件中声明的公共接口。

(3)树枝构件:分支节点对象、有子节点,实现了抽象构件中声明的接口,主要作用是操作和存储子部件,包含添加、移除等方法。