Design-Patterns-Composite

Composite (Object Tree)

应用场景解释

  • 当需要构造一个类似树的结构
  • 希望调用方对简单或者复杂的元素都能统一的调用

应用步骤重点

  • 确认目标模型是一个可以拆分为递归组合的树结构. 必须包含 简单元素(没有子元素) 和 复杂组件(可以包含简单元素和其他复杂组件)
  • 抽象出简单元素和 复杂组件的通用行为 interface
  • 创建简单元素类
  • 创建复杂组件类, 须有有一个数组类型字段, 来存储子元素, 且须有可以保存简单元素或者其他复杂组件类型. 实现 interface 的具体行为中,是循环调用的数组中元素的对应实现来计算的, 只是个代理, 自己并没有复杂逻辑
  • 给复杂组件添加 增删改查操作