6. 装饰者模式

作者: 在宇宙Debugger | 来源:发表于2018-01-10 11:17 被阅读38次

设计模式并非是难以理解, 或是难以应用到实践中的, 相反的, 设计模式恰恰代表了某些场景下的最佳实践! 这些设计模式通常被有经验的开发者们所采用。
设计模式是开发者们在开发过程中面临的一般问题的解决方案。 这些解决方案是众多开发者们经过长时间的实验和错误所总结出来的
本文将讲解前端 (javascript) 的设计模式概念!


装饰者模式, 顾名思义, 即一个类装饰另一个类, 其实装饰者模式与 继承 很类似, 但装饰者模式能够给不同的对象添加新行为

如下代码: DecorateSay 装饰了 Say, 但与继承不同 DecorateSay 保留了 Say 的方法

function Say(name) {
    this.name = name;
}

Say.prototype.hello = function() {
    return '你好,' + this.name;
}

// 装饰类
function DecorateSay(say) {
    this.say = say;
}

DecorateSay.prototype.hello = function() {
    return this.say.hello() + '先生';
}

var say = new Say('mtshen');
say = new DecorateSay(say);

由此可见, 装饰者模式比继承更加灵活, 因此, 当需要执行特殊行为的时候,
调用代码就可以根据需要有选择地, 按顺序地使用装饰功能来包装对象。

其他设计模式

单例模式: https://www.jianshu.com/p/4c0604f116ba
构造函数模式: https://www.jianshu.com/p/cf809d980459
建造者模式: https://www.jianshu.com/p/70cf4bb80549
简单工厂模式: https://www.jianshu.com/p/4293450926c2
抽象工厂模式: https://www.jianshu.com/p/d6138f36e6e2
外观模式: https://www.jianshu.com/p/179ae2a13c59

相关文章

  • 6. 装饰者模式

    设计模式并非是难以理解, 或是难以应用到实践中的, 相反的, 设计模式恰恰代表了某些场景下的最佳实践! 这些设计模...

  • 2020-11.04-Scala-24(设计模式入门)

    1.简单工厂模式 2.工厂方法 3.抽象工厂模式 4.单例模式 5.装饰者模式 6.观察者模式 7.代理模式

  • Java设计模式

    1.策略模式 2.观察者模式 3.装饰者模式 4.工厂模式 5.单件模式 6.命令模式 7.适配器模式与外观模式 ...

  • 如何利用装饰者模式在不改变原有对象的基础上扩展功能

    目录 什么是装饰者模式 普通示例 装饰者模式示例 类图关系 装饰者模式使用场景 装饰者模式优点 装饰者模式缺点 什...

  • Boolan(博览网)——C++ 设计模式(第十一周)

    目录 1. 设计模式简介 2. 面向对象设计原则 3. 模板方法 4. 策略模式 5. 观察者模式 6. 装饰模式...

  • Android中的设计模式整理

    1.单例模式 2.构建者模式 3.工厂模式 4.适配器模式 5.装饰模式 6.外观模式 7.组合模式 8.策略模式...

  • spring(3)动态代理事务操作与AOP

    6. AOP 6.1什么是AOP编程? 6.2 实现方式: 6.3 装饰者模式与静态代理对比: 6.4 动态代理...

  • 装饰者模式

    装饰者模式 装饰者模式和适配器模式对比 装饰者模式 是一种特别的适配器模式 装饰者与被装饰者都要实现同一个接口,主...

  • java IO 的知识总结

    装饰者模式 因为java的IO是基于装饰者模式设计的,所以要了解掌握IO 必须要先清楚什么事装饰者模式(装饰者模式...

  • 6. 装饰模式

    装饰模式 需要把所需的功能按正确的顺序串联起来进行控制。 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰...

网友评论

    本文标题:6. 装饰者模式

    本文链接:https://www.haomeiwen.com/subject/brnnnxtx.html