大话设计模式读书笔记--15.组合模式
定义
组合模式定义:
将对象组合成树形结构,以表示整体-部分的结构, 使得用户对单个对象和组合对象的使用具有一致性
部分与整体被一致对待
例如:笔记本电脑, 可以复制一个文件,也可以复制一个文件夹
模式结构
Component: 组合中的对象声明接口,声明所有类的默认行为,用以访问和管理子部件
Leaf: 表示叶节点对象,叶节点没有子节点
Composite: 表示子节点对象, 用来操作子部件
代码实现
场景:实现 北京总公司, 总公司人力资源部, 上海分公司, 分公司人力资源部的 组织结构
代码实现:点击下载
特点和使用场景
优点:
1.简化客户端代码,在定义组合的那些类中不需要写一些充斥着选择语句的函数
2. 基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,这样不断的递归下去
使用场景:需要体现部分与整体结构时,并且可以忽略组合对象和单个对象的不同
祝:
大家生活愉快,工作顺利