android-学渣系列- 设计模式学习 - 组合模式

android-学渣系列- 设计模式学习 - 组合模式_第1张图片
image.png

将对象组合成树形结构 部分中体的 层次机构 组合模式使得用户对单个对象或者组合对象具有一直性

 abstract  class childtangguo {

     private  String name;

     public childtangguo(String name) {
         this.name = name;
     }

     public abstract void addChild(childtangguo child);
     public abstract void removeChild(childtangguo child);
     public abstract childtangguo getChild(int index);
     public abstract  void  getName();
 }



叶子节点
public class childbinggun extends  childtangguo {

    public childbinggun(String name) {
        super(name);
    }

    @Override
    public void addChild(childtangguo child) {

    }

    @Override
    public void removeChild(childtangguo child) {

    }

    @Override
    public childtangguo getChild(int index) {
        return null;
    }

    @Override
    public void getName() {

    }
}

  枝干节点
public class childruantang extends  childtangguo {
    private List components = new ArrayList<>();
    public childruantang(String name) {
        super(name);
    }

    @Override
    public void addChild(childtangguo child) {

    }

    @Override
    public void removeChild(childtangguo child) {

    }

    @Override
    public childtangguo getChild(int index) {
        return null;
    }

    @Override
    public void getName() {

    }
}

代码结合图来看。在枝干节点添加list中添加了新的节点。 添加的聚合关系。也就是这个抽象类

和之前的几个结构型 模式 有什么区别呢

  • 代理适配桥接 都是通过 代理者 适配器 抽象类中引用了真实 被适配 具体接口对象 来达到调用的目的
  • 组合模式不一样 没有第三方 就是一个自我的调用。通过子节点的list中添加的抽象类,l达到一种扩展性的效果

你可能感兴趣的:(android-学渣系列- 设计模式学习 - 组合模式)