JavaScript设计模式七:装饰者模式

不言
不言 原创
2018-04-02 14:13:15 740浏览

本篇文章给大家分享了JavaScript设计模式七:装饰者模式,有兴趣的朋友可以看一下

装饰者模式

装饰者模式提供比继承更有弹性的替代方案。装饰者用于包装同接口的对象,用于通过重载方法的形式添加新功能,该模式可以在被装饰者的前面或后面加上自己的行为以达到特定的目的。
简单的理解:给对象动态添加职责的方式称为装饰着模式。
举一个简单的例子:

var xiaoming = function () {
  this.run = function () {
    return '跑步'
  },
  this.eat = function () {
    return: '吃饭'
  }
}
// 小明可以跑步,也可以吃饭
// 下面是一个装饰类,给小明进行装饰
var decor = function (xiaoming) {
  this.run = function () {
    return xiaoming.run + '很快'
  }
  this.eat = function () {
    return xiaoming.eat + '很多'
  }
}

通过一个装饰类,实现了对小明类的装饰。

总结

装饰者模式是为已有功能动态地添加更多功能的一种方式,把每个要装饰的功能放在单独的函数里,然后用该函数包装所要装饰的已有函数对象,因此,当需要执行特殊行为的时候,调用代码就可以根据需要有选择地、按顺序地使用装饰功能来包装对象。优点是把类(函数)的核心职责和装饰功能区分开了

相关推荐:

JavaScript设计模式系列二:单例模式

JavaScript设计模式系列四:原型模式

JavaScript设计模式系列六:桥接模式

以上就是JavaScript设计模式七:装饰者模式的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。