结构型模式之组合模式

来源:互联网 发布:上海淘宝公司招人 编辑:程序博客网 时间:2024/06/10 12:17

组合模式(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() {    }}
原创粉丝点击