Android 设计模式入门到精通之十一:组合模式(Composite Pattern,部分-整体模式)

版权声明:本文为博主原创文章,未经允许不得转载,如有问题,欢迎指正,谢谢! https://blog.csdn.net/cbk861110/article/details/88213240

设计模式项目源码请移步:https://github.com/caobaokang419/WeatherApp(欢迎Github Fork&Star,代码设计模式&框架设计实现不妥之处,请帮忙指正),谢谢!

组合模式(Composite Pattern)

1. 概念

Composite Pattern (又叫 部分-整体模式,Part-Whole),

composite objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.
将对象组合成树形结构来表现“部分-整体”的层次结构,使客户以一致的方式来处理单个(叶子节点)对象和组合(树枝节点)对象。

2. 应用场景

a. 维护和展示 部分-整体 关系的场景,如树形菜单、组织结构、文件系统。
b. 从一个整体中能够独立出部分模块或功能的场景。

3. 优点

a. 叶子节点(单个对象)、树枝节点(组合对象)对用户透明;即可以将相同的操作应用在组合对象和单个对象上。
b. 高层模块调用简单;局部和整体对调用者来说没有任何区别。
c. 节点增加自由。

4. 缺点

组合模式以牺牲单一职责原则来换取透明性:同一个节点既负责“组合方法”、又负责“操作方法”

5. 代码实践:TBD

猜你喜欢

转载自blog.csdn.net/cbk861110/article/details/88213240