大话设计模式读书笔记--15.组合模式

定义

组合模式定义:

将对象组合成树形结构,以表示整体-部分的结构, 使得用户对单个对象和组合对象的使用具有一致性

部分与整体被一致对待

例如:笔记本电脑, 可以复制一个文件,也可以复制一个文件夹

模式结构

Component: 组合中的对象声明接口,声明所有类的默认行为,用以访问和管理子部件

Leaf: 表示叶节点对象,叶节点没有子节点

Composite: 表示子节点对象, 用来操作子部件

代码实现

场景:实现 北京总公司, 总公司人力资源部, 上海分公司, 分公司人力资源部的 组织结构

代码实现:点击下载

特点和使用场景

优点:

1.简化客户端代码,在定义组合的那些类中不需要写一些充斥着选择语句的函数
2. 基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,这样不断的递归下去

使用场景:需要体现部分与整体结构时,并且可以忽略组合对象和单个对象的不同

posted @ 2017-02-27 12:48  liuconglin  阅读(268)  评论(0编辑  收藏  举报