设计模式 之 组合模式
因为自己在平常编码过程中并没有使用过组合模式,对这种设计模式知之甚少。听了李老师的课,还是有些云里雾里的感觉,于是又去翻看了小争哥的设计模式之美专栏中的组合模式,才在脑中对组合模式有些感觉。
组合模式,是结构型设计模式之一。因为使用场景比较受限,所以日常中并不那么常用。
组合模式要求要处理的数据必须能表示成树形结构。一旦数据满足树形结构,应用这种设计模式就能发挥很大的作用,能让代码变得非常简洁。
就以老师上课作业为例。
题目中虽然设计众多组件,但究其本质而言就只有容器组件(非叶子结点)和基本组件(叶子节点)
利用组合模式的类图就如下所示:
UML代码如下:
其实,组合模式很简单,:就是将一组对象(单独组件和容器组件)组织成树形结构,以表示一种‘部分 - 整体’的层次结构(组件之间的嵌套结构)。组合模式让客户端可以统一单个对象(基本组件)和组合对象(容器组件)的处理逻辑(递归遍历)。”
版权声明: 本文为 InfoQ 作者【南宫煌】的原创文章。
原文链接:【http://xie.infoq.cn/article/593b70a6deaafc3f887d5b013】。未经作者许可,禁止转载。
评论