组合模式的优点

转载 2013年12月02日 17:32:02

出处:http://book.51cto.com/art/201002/184631.htm

21.3 组合模式的应用

21.3.1 组合模式的优点

高层模块调用简单

一棵树形机构中的所有节点都是Component,局部和整体对调用者来说没有任何区别,也就是说,高层模块不必关心自己处理的是单个对象还是整个组合结构,简化了高层模块的代码。

节点自由增加

使用了组合模式后,我们可以看看,如果想增加一个树枝节点、树叶节点是不是都很容易呀,只要找到它的父节点就成,非常容易扩展,符合开闭原则,对以后的维护非常有利。

21.3.2 组合模式的缺点

组合模式有一个非常明显的缺点,看到我们在场景类中的定义,提到树叶和树枝使用时的定义了吗?直接使用了实现类!这在面向接口编程上是很不恰当的,与依赖倒置原则冲突,读者在使用的时候要考虑清楚,它限制了你接口的影响范围。

21.3.3 组合模式的应用

维护和展示部分-整体关系的场景,如树形菜单、文件和文件夹管理。

从一个整体中能够独立出部分模块或功能的场景。

21.3.4 组合模式的注意事项

只要是树形结构,就要考虑使用组合模式,这个一定要记住,只要是要体现局部和整体的关系的时候,而且这种关系还可能比较深,考虑一下组合模式吧。


深入浅出组合模式

一、引子在大学的数据结构这门课上,树是最重要的章节之一。还记得树是怎么定义的吗?树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:(1)    有且仅有一个特定的...
  • ai92
  • ai92
  • 2005年02月23日 10:33
  • 14174

组合模式(Composite Pattern )

当我想去了解组合模式的时候,网上搜一下,有很多优秀的文章,但很多人都在直接给出了组合模式的UML图,然后就去讲解什么是组合,组合有什么优缺点。 我承认他们也许讲的很好,但我并没有一下子就能理解了组合...
  • caiwenfeng_for_23
  • caiwenfeng_for_23
  • 2012年12月31日 15:08
  • 8084

对于组合模式的理解

今天看了组合模式 ,多用于树形结构 定义:  组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象...
  • AlbertFly
  • AlbertFly
  • 2016年06月16日 12:14
  • 3229

各个设计模式的优缺点

设计原则 1、找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2、针对接口编程(实际上是针对超类编程),而不是针对实现编程。 策略模式(Strategy Patter...
  • w302974215
  • w302974215
  • 2015年11月02日 14:04
  • 2729

23种设计模式(概念、原则、场景、优点、缺点、应用)简述

23种设计模式:简单工厂模式,策略模式、装饰模式、代理模式、工厂方法模式、原型模式、模板方法模式、外观模式、建造者模式、观察者模式、抽象工厂模式、状态模式、适配器模式、备忘录模式、组合模式、迭代器模式...
  • u014282557
  • u014282557
  • 2017年05月31日 19:42
  • 750

Java设计模式透析之 —— 组合(Composite)

听说你们公司最近新推出了一款电子书阅读应用,市场反应很不错,应用里还有图书商城,用户可以在其中随意选购自己喜欢的书籍。你们公司也是对此项目高度重视,加大了投入力度,决定给此应用再增加点功能。 好吧,你...
  • sinyu890807
  • sinyu890807
  • 2013年06月27日 08:37
  • 21803

设计模式--组合模式--商品排序案例

所有的例子均来源与实际开发项目 本节介绍组合模式的使用–商品结果排序评分系统...
  • yangxy81118
  • yangxy81118
  • 2014年08月20日 19:48
  • 2901

JAVA设计模式初探之组合模式

先看看组合模式的定义吧:“将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。”    就拿剪发办卡的事情来分析一下吧。    首先,一张卡可...
  • jason0539
  • jason0539
  • 2014年03月31日 08:40
  • 22187

对于组合模式的理解

今天看了组合模式 ,多用于树形结构 定义:  组合模式(Composite Pattern):组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象...
  • AlbertFly
  • AlbertFly
  • 2016年06月16日 12:14
  • 3229

设计模式:组合模式(Composite)

将对象组合成属性结构以表示“部分-整体”的层次结构。组合使得用户和单个对象和组合对象的使用具有一致性。  组合模式设计的角色:  1. Component:是组合中的对象声明接口,在适当的...
  • wangtaomtk
  • wangtaomtk
  • 2016年08月19日 22:03
  • 514
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:组合模式的优点
举报原因:
原因补充:

(最多只允许输入30个字)