软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、颠末分类编目标、代码设计履历的总结。使用设计模式是为了可重用代码、让代码更容易被他人明白、保证代码可靠性、步伐的重用性。
汇总目录链接:【玩转23种Java设计模式】学习目录汇总整理
一、简介
组合模式(Composite Pattern)是一种结构型设计模式,用于将对象组合成树形结构以表示"部分-整体"的层次关系。其核心思想是通过同一接口处置惩罚叶子对象(单个元素)和组合对象(容器元素),使客户端无需区分操作的是单个对象还是整个组合结构。
核心脚色:
- Component:声明组合对象的通用接口
- Leaf:叶子节点(无子节点)
- Composite:容器节点(包罗子组件聚集)
二、实例
假设必要构建文件体系,包罗文件夹(组合对象)和文件(叶子对象)。
1、抽象组件
- interface FileSystemComponent {
- void display(int indent);
- long getSize();
- }
复制代码 2、叶子节点:文件
[code]class File implements FileSystemComponent {
private String name;
private long size;
public File(String name, long size) {
this.name = name;
this.size = size;
}
@Override
public void display(int indent) {
System.out.println(" ".repeat(indent) + " |