码迷,mamicode.com
首页 > 其他好文 > 详细

入门设计模式之合成

时间:2018-06-30 23:42:19      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:ace   function   targe   UNC   cal   类图   void   一个   通过   

 

学习更多设计模式请参考:入门设计模式之汇总篇

 

合成模式的职责是将对象组织到树结构中

 

 

技术分享图片

观察上方类图:

  • interface,一个接口定义了一个获得当前对象名字的方法
  • leaf:树中的叶子节点,实现了interface
  • Branch:树枝节点,不仅实现了getName方法,同样它本身具有添加节点删除节点的方法且本身可以包含多个树枝节点以及叶子节点

通过上述结论我们可以发现其实合成模式就是树的结构的实现

来看一下代码:

public interface Compent {
    public String getName();

}
public class Branch implements Compent {
    private List<Compent> compent;

    @Override
    public String getName() {
        return "this name";
    }
    public void add() {
        //内部实现
    }
    public void remove() {
        //内部实现
    }
}

public class Leaf implements Compent {
    @Override
    public String getName() {
        return "this name";
    }
}

 

 

 

本文出自https://zhixiang.org.cn/#/blog/read/e9e4019a-1368-4cbd-a1d7-4ae2959b12d5,转载请保留。

 

入门设计模式之合成

标签:ace   function   targe   UNC   cal   类图   void   一个   通过   

原文地址:https://www.cnblogs.com/zhixiang-org-cn/p/9249016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!