欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

入门设计模式之合成模式

程序员文章站 2022-03-28 18:19:09
学习更多设计模式请参考:入门设计模式之汇总篇 合成模式的职责是将对象组织到树结构中 观察上方类图: interface,一个接口定义了一个获得当前对象名字的方法 leaf:树中的叶子节点,实现了interface Branch:树枝节点,不仅实现了getName方法,同样它本身具有添加节点删除节点的 ......

 

学习更多设计模式请参考:

 

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

 

 

入门设计模式之合成模式

观察上方类图:

  • 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";
    }
}

 

 

 

本文出自,转载请保留。