Maison  >  Article  >  interface Web  >  Modèle de conception JavaScript 7 : modèle de décorateur

Modèle de conception JavaScript 7 : modèle de décorateur

不言
不言original
2018-04-02 14:13:15997parcourir

Cet article partage avec vous le septième modèle de conception JavaScript : le modèle Décorateur. Les amis intéressés peuvent jeter un œil au

Modèle Décorateur

Le modèle Décorateur offre plus de flexibilité que les alternatives d'héritage. . Les décorateurs sont utilisés pour envelopper des objets avec la même interface et ajouter de nouvelles fonctions sous la forme de méthodes surchargées. Ce mode peut ajouter votre propre comportement avant ou après l'objet décoré pour atteindre un objectif spécifique.
Compréhension simple : la manière d'ajouter dynamiquement des responsabilités à un objet est appelée le mode décoré.
Donnez un exemple simple :

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 + '很多'
  }
}

La décoration de la classe Xiao Ming est réalisée à travers un cours de décoration.

Résumé

Le modèle de décorateur est un moyen d'ajouter dynamiquement plus de fonctions aux fonctions existantes. Placez chaque fonction à décorer dans une fonction distincte, puis utilisez cette fonction. Encapsule l'objet de fonction existant dans. être décoré.Par conséquent, lorsqu'un comportement spécial doit être effectué, le code appelant peut utiliser la fonction de décoration de manière sélective et séquentielle pour envelopper l'objet selon les besoins. L'avantage est qu'il sépare les responsabilités principales et les fonctions décoratives de la classe (fonction)

Recommandations associées :

JavaScript Design Pattern Series 2 : Singleton Pattern

Série de modèles de conception JavaScript 4 : mode prototype

Série de modèles de conception JavaScript 6 : mode pont

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn