【设计模式】 组合模式

组合模式 ( Composite pattern ) 也叫合成模式,是面向对象设计中很常用的一种模式。它用来描述部分和整体的关系,使对部分和整体(部分的集合)的操作具有一致性。

      组合模式常用于对树状结构进行描述,比如XML解析数、UI控件树、文件和文件夹等。组合模式提供一种统一的方式来描述树状结构的根节点、树枝节点和叶子节点。其精髓就在于对树状结构所有节点的统一抽象,组合模式的通用类图如下图所示:

 QQ截图20150326124749

 

组合模式的好处:

外部模块调用方便,不用关心处理的是单个节点还是复合节点。

增删无需区分节点类型,只要找到父节点即可。

容易扩展,符合开闭原则,对维护有利。

 

组合模式的缺点:

没有接口抽象,直接使用的实现类。与依赖倒置原则冲突。

posted @ 2015-03-26 12:49  rizo  阅读(152)  评论(0编辑  收藏  举报