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

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<childtangguo> 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达到一种扩展性的效果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,993评论 1 15
  • 真诚的,TNANKS。 个人Github-23种设计模式案例链接 创建型模式 工厂模式 工厂模式(Factory ...
    水清_木秀阅读 26,223评论 11 204
  • javascript设计模式与开发实践 设计模式 每个设计模式我们需要从三点问题入手: 定义 作用 用法与实现 单...
    穿牛仔裤的蚊子阅读 4,296评论 0 13
  • 风的故事,只有叶子懂。 云的歌,只有雨会懂。 听故事的人会唱歌, 说故事的人轻声喝 。 你的酒,她的微笑, 一坛梅...
    臧小五阅读 273评论 0 0
  • 最后,bye~~,《窦靖童 see you again电影〈声之形〉推广曲》这首歌ending…蛮适合这。 聲不無...
    字母Reddish阅读 335评论 0 1