组合模式
-
定义与类型
- 将对象组合成树形结构以表示“部分-整体”的层次结构
- 组合模式使客户端对单个对象和组合对象保持一致的方式处理
- 类型:结构型
-
适用场景
- 希望客户端可以忽略组合对象与单个对象的差异时
- 处理一个树形结构时
-
优点
- 清楚地定义分层次的复杂对象,表示对象的全部或部分层次
- 让客户端忽略层次的差异,方便对整个层次结构进行控制
- 进化客户端代码
- 符合开闭原则
-
缺点
- 限制类型时会较为复杂’
- 使设计变得更加抽象
-
演示地址
- https://github.com/steins4/designpattern/tree/master/src/main/java/com/steins/designpattern/structural/composite