Rumah >hujung hadapan web >tutorial js >JavaScript设计模式七:装饰者模式

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

不言
不言asal
2018-04-02 14:13:151057semak imbas

本篇文章给大家分享了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设计模式系列六:桥接模式

Atas ialah kandungan terperinci JavaScript设计模式七:装饰者模式. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn