设计模式——装饰着模式

栏目: 后端 · 发布时间: 5年前

内容简介:我们的目标是使类容易扩展,在不改变现有代码的情况下,就可以搭配新的行为以星巴此咖啡为例。比如,客户想要摩卡和奶泡深赔咖啡。那么,要做的是:

定义

动态地将责任附加到对象上,若要扩展功能,装饰着提供了比继承更有弹性的替代方案。

OO原则

  • 封装变化
  • 多用组合少用继承
  • 针对接口编程,不针对实现编程
  • 为了交互对象之间的松耦合而努力
  • 类应该对扩展开放,对修改关闭

开闭原则

我们的目标是使类容易扩展,在不改变现有代码的情况下,就可以搭配新的行为

认识装饰者模式

以星巴此咖啡为例。比如,客户想要摩卡和奶泡深赔咖啡。那么,要做的是:

  1. 那一个深赔咖啡(DarkRoast)对象
  2. 以摩卡(Mocha)对象装饰它
  3. 以奶泡(Whip)对象装饰它
  4. 调用cost()方法,并依赖委托将调料的价格加上去

设计模式——装饰着模式

  • 装饰者和被装饰者对象有相同的超类型
  • 你可以用一个或多个装饰者包装一个对象
  • 既然装饰者和被装饰对象有相同的超类型,所以在任何需要原始对象(被包装的)的场合,可以用装饰过的对象替代它
  • 装饰者可以在所委托被装饰者的行为之前与或之后,加上自己的行为,以达到特定的目的
  • 对象可以在任何时候被装饰,所以可以在运行时动态地、不限量地用你喜欢的装饰者来装饰对象

类图

设计模式——装饰着模式


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

像计算机科学家一样思考Python

像计算机科学家一样思考Python

(美)Allen B.Downey / 赵普明 / 人民邮电出版社 / 2013-8 / 49

《像计算机科学家一样思考python》按照培养读者像计算机科学家一样的思维方式的思路来教授python语言编程。全书贯穿的主体是如何思考、设计、开发的方法,而具体的编程语言,只是提供一个具体场景方便介绍的媒介。《像计算机科学家一样思考python》并不是一本介绍语言的书,而是一本介绍编程思想的书。和其他编程设计语言书籍不同,它不拘泥于语言细节,而是尝试从初学者的角度出发,用生动的示例和丰富的练习来......一起来看看 《像计算机科学家一样思考Python》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具