设计模式学习-每日一记(10.组合模式)
2011-10-29 18:14
309 查看
组合模式
A.定义:
把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。
B.定义分析:
"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"整体部分关系,比如:Window这个对象,其中可以包括Button,List,Menu等组件,Window就是个整体,Button,List,Menu等就是组成部分.
"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"如果上边的Window里包含了List,同时也包含了另一个Window对象,里边的Window对象又包含了许多对象,这其实就是个树形结构了。
"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"这里的没有区别意思是,无论里边的Window包含了多少个对象,对于外边的Window来说,他和List是一样的,没有区别.
C.问题:
(1)什么时候用到?
GUI经常用到单一组件和组合组件这样的关系,一般的方式是有个Widget基类,一个CompositeWidget继承自Widget,同时CompositeWidget维护了多个Widget的集合.
A.定义:
把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。
B.定义分析:
"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"整体部分关系,比如:Window这个对象,其中可以包括Button,List,Menu等组件,Window就是个整体,Button,List,Menu等就是组成部分.
"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"如果上边的Window里包含了List,同时也包含了另一个Window对象,里边的Window对象又包含了许多对象,这其实就是个树形结构了。
"把对象组织成树形结构以表示“整体-部分”关系。组合模式使单个对象和组合对象在使用上没有区别。"这里的没有区别意思是,无论里边的Window包含了多少个对象,对于外边的Window来说,他和List是一样的,没有区别.
C.问题:
(1)什么时候用到?
GUI经常用到单一组件和组合组件这样的关系,一般的方式是有个Widget基类,一个CompositeWidget继承自Widget,同时CompositeWidget维护了多个Widget的集合.
相关文章推荐
- 设计模式学习-每日一记(11.代理模式)
- 设计模式学习-每日一记(12.轻量模式)
- 设计模式学习-每日一记(3.工厂方法)
- 设计模式学习-每日一记(22.访问者模式)
- 设计模式学习-每日一记(4.抽象工厂)
- 设计模式学习-每日一记(15.状态模式)
- 设计模式学习-每日一记(19.备忘录模式)
- 设计模式学习-每日一记(9.装饰者模式)
- 设计模式学习-每日一记(17.解释器模式)
- 设计模式学习-每日一记(23.责任链模式)
- 设计模式学习-每日一记(13.策略模式)
- 【学习笔记javascript设计模式与开发实践(组合模式)----10】
- 设计模式学习-每日一记(7.适配器模式)
- 设计模式学习-每日一记(14.观察者模式)
- 设计模式学习-每日一记(1.简单工厂模式)
- 设计模式学习-每日一记(18.命令模式)
- 【学习笔记javascript设计模式与开发实践(组合模式)----10】
- 【每日一记】设计模式——组合模式
- 设计模式学习-每日一记(2.外观模式)
- 设计模式学习-每日一记(20.中介者模式)