当前位置:网站首页 > 技术博客 > 正文

装饰模式的定义



要想正确理解设计模式,首先必须明确它是为了解决什么问题而提出来的。

设计模式学习笔记

——Shulin

转载请注明出处:http://blog.csdn.net/zhshulin

装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案

但是纯粹的装饰模式很难找到,大多数的装饰模式的实现都是“半透明”的,而不是完全透明的。换言之,允许装饰模式改变接口,增加新的方法。半透明的装饰模式是介于装饰模式和适配器模式之间的。适配器模式的用意是改变所考虑的类的接口,也可以通过改写一个或几个方法,或增加新的方法来增强或改变所考虑的类的功能。

大多数的装饰模式实际上是半透明的装饰模式,这样的装饰模式也称做半装饰、半适配器模式。


动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。不改变接口的前提下,增强所考虑的类的性能。

何时使用:

1)需要扩展一个类的功能,或给一个类增加附加责任。

2)需要动态的给一个对象增加功能,这些功能可以再动态地撤销。

3)需要增加一些基本功能的排列组合而产生的非常大量的功能,从而使继承变得    不现实。


l 抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。

l 具体构件(ConcreteComponent)角色:定义一个将要接收附加责任的类

l 装饰角色(Decorator):持有一个构件(Component)对象的实例,并定义一个与抽象构件接口一致的接口

l







  • 上一篇: libcurl中文手册
  • 下一篇: 函数指针
  • 版权声明


    相关文章:

  • libcurl中文手册2025-08-04 19:30:04
  • 简述:数据库中索引的优点和缺点?2025-08-04 19:30:04
  • windows如何打开本地组策略编辑器2025-08-04 19:30:04
  • 2021免费dns2025-08-04 19:30:04
  • 图的深度优先遍历头文件2025-08-04 19:30:04
  • 函数指针2025-08-04 19:30:04
  • 迈迪工具集哪个版本好用2025-08-04 19:30:04
  • 免费编程软件中文手机版2025-08-04 19:30:04
  • 胖熊是哪个动画片2025-08-04 19:30:04
  • 跨域怎么理解2025-08-04 19:30:04