【设计模式】结构型模式之组合Composite
2016-08-07 17:46
429 查看
组合Composite是一种对象结构型设计模式,意在将对象组合成树形结构以表示部分与整体的层次结构,使得用户对单个对象和组合对象的使用具有一致性。当我们想表示对象的部分与整体层次结构时,或者希望用户忽略组合对象与单个对象的不同,能够统一地使用组合结构中的所有对象时,我们可以使用Composite模式。
Composite模式的结构如下类图所示:
上图中,Component为组合中的对象声明接口,在适当的情况下,实现所有类共有接口的缺省行为,声明一个接口用于访问和管理Component的子组件,也可以选择性地在递归结构中定义一个接口,用于访问一个父部件,并在合适的情况下实现它;Leaf在组合中表示叶节点对象,叶节点没有子节点;Composite定义有子部件的那些部件的行为,存储子部件,在Component中实现与子部件有关的操作;Client通过Component接口操纵组合部件的对象。用户使用Component类接口与组合结构中的对象进行交互,如果接收者是一个叶节点,则直接处理请求,如果接收者是Composite,它通常将请求发送给它的子部件,在转发请求之前或之后可能执行一些辅助操作。
Composite模式的结构如下类图所示:
上图中,Component为组合中的对象声明接口,在适当的情况下,实现所有类共有接口的缺省行为,声明一个接口用于访问和管理Component的子组件,也可以选择性地在递归结构中定义一个接口,用于访问一个父部件,并在合适的情况下实现它;Leaf在组合中表示叶节点对象,叶节点没有子节点;Composite定义有子部件的那些部件的行为,存储子部件,在Component中实现与子部件有关的操作;Client通过Component接口操纵组合部件的对象。用户使用Component类接口与组合结构中的对象进行交互,如果接收者是一个叶节点,则直接处理请求,如果接收者是Composite,它通常将请求发送给它的子部件,在转发请求之前或之后可能执行一些辅助操作。
相关文章推荐
- 设计模式-结构型模式:组合模式 Composite
- 设计模式九:composite(组合)——对象结构型模式
- 设计模式(七)组合模式Composite(结构型)
- Java设计模式(8)——结构型模式之组合模式(Composite)
- C#面向对象设计模式学习笔记(8) - Composite 组合模式(结构型模式)
- 设计模式-结构型-composite 组合
- 设计模式--组合模式Composite(结构型)
- 面向对象设计模式之Composite组合模式(结构型)
- 设计模式(8)-结构型-组合模式(Composite)
- 设计模式笔记--结构型模式之三--组合模式 Composite
- Java经典设计模式-结构型模式-组合模式(Composite)
- 设计模式之十一:Composite(组合)—对象结构型模式
- JAVA设计模式(11) —<结构型>组合模式(Composite)
- 设计模式(七)组合模式Composite(结构型)
- 设计模式学习之组合模式(Composite,结构型模式)(10)
- 【设计模式基础】结构型模式 - 5 - 组合(Composite)
- 设计模式—结构型-Composite(组合)
- 设计模式--组合模式Composite(结构型)
- 结构型设计模式---组合模式(Composite)
- 设计模式(七)组合模式Composite(结构型)