9.组合模式

  • 一、角色
    • 组合对象接口
    • 组合对象实现类(无子节点)
    • 组合对象实现类(有子节点)
  • 二、适用场景
    • 需求中是体现部分与整体层次结构的时候,如树形菜单,文件、文件夹的管理
  • 三、实例
    • 图-1中实现了一个公司到子公司到部门的层级结构树,Company是所有组合对象实现类的声明接口,HRDepartment、FinanceDepartment、ConcreteCompany是组合对象实现类,ConcreteCompany与HRDepartment、FinanceDepartment对象不同是ConcreteCompany拥有一个Company列表对象,以此来建立组合对象之间的层次结构
    • 代码地址:https://github.com/lanhei/DesignPattern/tree/master/src/com/lanhei/patterns/composite
    图-1
原文地址:https://www.cnblogs.com/zhongj/p/11288416.html