Maison >interface Web >js tutoriel >Comment implémenter le modèle de décorateur dans node.js

Comment implémenter le modèle de décorateur dans node.js

php中世界最好的语言
php中世界最好的语言original
2018-04-18 13:40:351429parcourir

Cette fois, je vais vous expliquer node.js comment implémenter le modèle de décorateur, quelles sont les précautions pour implémenter le modèle de décorateur dans node.js, ce qui suit sont des cas pratiques, regardons-y.

La mise en œuvre du modèle décorateur met l'accent sur la composition des classes plutôt que sur l'héritage via . Cela augmente la flexibilité. Dans node.js, cela peut être réalisé via la fonction d'appel. La fonction d'appel peut appeler la fonction membre d'une autre classe dans un objet , en ce sens, l'objectif de la combinaison de classes est atteint.

var util = require('util');
var Beverage = function(){
  var description = "Unkown Beverage"
  this.getDescription = function(){
    return description;
  }
}
function Espresso(){
  Beverage.call(this);
  this.description = "Espresso";
}
util.inherits(Espresso, Beverage);
Espresso.prototype.cost = function(){
  return 1.99;
}
function HouseBlend(){
  Beverage.call(this);
  this.description = "House Blend Coffee";
}
util.inherits(HouseBlend, Beverage);
HouseBlend.prototype.cost = function(){
  return .89;
}
function Mocha(beverage){
  this.beverage = beverage;
};
Mocha.prototype.getDescription = function(){
  return this.beverage.getDescription() + ", Mocha";
}
Mocha.prototype.cost = function(){
  return 0.20 + this.beverage.cost();
}
function Whip(beverage){
  this.beverage = beverage;
};
Whip.prototype.getDescription = function(){
  return this.beverage.getDescription() + ", Whip";
}
Whip.prototype.cost = function(){
  return 0.40 + this.beverage.cost();
}
var beverage = new Espresso();
console.log(beverage.getDescription() + " $" + beverage.cost());
var beverage2 = new HouseBlend();
beverage2 = new Mocha(beverage2);
beverage2 = new Mocha(beverage2);
beverage2 = new Whip(beverage2);
console.log(beverage2.getDescription() + " $" + beverage2.cost());

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

node.js implémente l'encapsulation de l'interface WeChat

JS implémente l'affichage des actualités en bas avec effets de glissement

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