定义

将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使客户端对单个对象和组合对象保持一致的处理方式。

适用场景

  • 希望客户端可以忽略组合对象与单个对象的差异时。
  • 处理一个树形结构时。

UML

总结

  • 优点

    1. 清楚的定义分层次的复杂对象,表示对象的全部或部分层次。
    2. 让客户端忽略层次的差异,方便对整个层次结构进行控制。
    3. 简化客户端代码。
    4. 符合开闭原则
  • 缺点

    1. 限制类型时会较为复杂。
    2. 使设计变的更加抽象。