组合模式(Composite)将对象组合成“部分-整体”的树形结构,使用户对单个对象和组合对象的使用具有一致性。
组合模式包含以下三部分:
- Component 组合对象的接口,可用抽象类实现所有类共有的缺省行为
- Composite 组合对象,存储子节点
- Leaf 叶子对象,不包含子节点
Component接口
interface Component {
void add(Component component);
void remove(Component component);
void getChild();
}
Composite组合对象
class Composite implements Component{
List<Component> list = new ArrayList<>();
@Override
public void add(Component component) {
list.add(component);
}
@Override
public void remove(Component component) {
list.remove(component);
}
@Override
public void getChild() {
for (Component component:list) {
}
}
}
Leaf叶子对象
class Leaf implements Component {
@Override
public void add(Component component) {
}
@Override
public void remove(Component component) {
}
@Override
public void getChild() {
}
}

被折叠的 条评论
为什么被折叠?



