设计模式——装饰着模式

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

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

定义

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

OO原则

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

开闭原则

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

认识装饰者模式

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

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

设计模式——装饰着模式

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

类图

设计模式——装饰着模式


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

查看所有标签

猜你喜欢:

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

Processing语言权威指南

Processing语言权威指南

Casey Reas、Ben Fry / 张静 / 电子工业出版社 / 2013-10-1 / 139.00

本书介绍了可视化艺术中的计算机编程概念,对开源编程语言Processing作了非常详尽的阐述。学生、艺术家、设计师、建筑师、研究者,以及任何想编程实现绘画、动画和互动的人都可以使用它。书中的大部分章节是短小的单元,介绍Processing的语法和基本概念(变量、函数、面向对象编程),涵盖与软件相关的图像处理、绘制,并且给出了大量简短的原型程序,配以相应的过程图像与注释。书中还有一些访谈文章,与动画......一起来看看 《Processing语言权威指南》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具