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

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

巴扎黑
Libérer: 2017-09-07 10:41:18
original
1205 Les gens l'ont consulté

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());
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal