Maison  >  Article  >  interface Web  >  Introduction au modèle de décorateur node.js

Introduction au modèle de décorateur node.js

巴扎黑
巴扎黑original
2017-09-07 10:41:181150parcourir

Cet article présente principalement le modèle décorateur implémenté par node.js. Il explique brièvement le principe et la fonction du modèle décorateur et donne la méthode d'implémentation du modèle décorateur node.js sous forme d'exemples. à lui. Suivant

L'exemple de cet article décrit le modèle de décorateur implémenté par node.js. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

La mise en œuvre du modèle décorateur met l'accent sur la combinaison de classes plutôt que sur l'héritage. 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());

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