组合模式(Composite Pattern)
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 组合模式,也称作部分整体模式。是结构型设计模式之一。组合模式画成图就是数据结构中的树结构,有一个根节点,然后有很多分支。将最顶部的根节点叫做根结构件,将有分支的节点叫做枝干构件,将没有分支的末端节点叫做叶子构件. 定义 将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。 使用场景 想表示对象的部分-整体层次结构时。 希望用户忽略单个对象和组合对象的不同,对对象使用具有统一性时。 从一个整体中能够独立出部分模块或功能时。 UML 安全的组合模式 Component:抽象节点,为组合中的对象声明接口,适当的时候实现所有类的公有接口方法的默认行为。 Composite:定义所有枝干节点的行为,存储子节点,实现相关操作。 Leaf:叶子节点,没有子节点,实现相关对象的行为。 看一下这个模式的通用代码 抽象的节点: public abstract class Component { protected String name; public Component(String name) { this.name = name; } public abstract void doSonthing(); } 1 2 3 4 5 6 7 8 枝干节点: public class