组合模式
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的集合.