node.js实现的装饰者模式示例

 更新时间:2017年09月06日 10:14:51   作者:MatthewehttaM  
这篇文章主要介绍了node.js实现的装饰者模式,简单说明了装饰者模式的原理、功能并结合实例形式给出了node.js装饰者模式的实现方法,需要的朋友可以参考下

本文实例讲述了node.js实现的装饰者模式。分享给大家供大家参考,具体如下:

装饰者模式的实现更强调类的组合而不是通过继承。这样可以增强灵活性。在node.js 中,可以通过call函数实现。call函数可以在一个对象中调用另一个类的成员函数,从这种意义上达成类的组合目的。

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());

希望本文所述对大家node.js程序设计有所帮助。

相关文章

  • Node.js入门教程:在windows和Linux上安装配置Node.js图文教程

    Node.js入门教程:在windows和Linux上安装配置Node.js图文教程

    这篇文章主要介绍了Node.js入门教程:在windows和Linux上安装配置Node.js的方法,本文图文并茂,步骤明细,是学习安装node.js的绝佳教程,需要的朋友可以参考下
    2014-08-08
  • node上的redis调用优化示例详解

    node上的redis调用优化示例详解

    这篇文章主要给大家介绍了关于node上redis调用优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Node.js JSON模块用法实例分析

    Node.js JSON模块用法实例分析

    这篇文章主要介绍了Node.js JSON模块用法,结合实例形式分析了node.js json模块的基本语法,以及使用json模块进行json格式数据解析的相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • 如何使用docker直接运行不同版本nodejs命令

    如何使用docker直接运行不同版本nodejs命令

    这篇文章主要介绍了如何使用docker直接运行不同版本nodejs命令,在不支持高版本Node.js的旧版操作系统上,可以通过Docker容器技术解决兼容性问题,需要的朋友可以参考下
    2024-10-10
  • Node.js+Express.js+TS实现简单图床脚本

    Node.js+Express.js+TS实现简单图床脚本

    在这篇博客文章中,我将介绍如何使用 TypeScript 和 Express 框架来编写一个简单的图床脚本,可以将本地图片上传到服务器,并返回图片的 URL,这样,你就可以在 Markdown 文档中方便地引用图片,而不用担心图片的存储和管理问题
    2023-10-10
  • 基于Node.js搭建hexo博客过程详解

    基于Node.js搭建hexo博客过程详解

    这篇文章主要介绍了基于Node.js搭建hexo博客过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
    2019-06-06
  • Nodejs 和Session 原理及实战技巧小结

    Nodejs 和Session 原理及实战技巧小结

    这篇文章主要介绍了Nodejs 和Session 原理及实战技巧小结,需要的朋友可以参考下
    2017-08-08
  • 使用Puppeteer实现页面遍历的示例代码

    使用Puppeteer实现页面遍历的示例代码

    很多时候我们需要遍历我们的页面来检查页面是否存在问题,以更好的保证可用性和安全性,下面就来讲讲如何使用puppeteer来实现页面遍历的功能吧
    2023-06-06
  • node.js中的fs.rename方法使用说明

    node.js中的fs.rename方法使用说明

    这篇文章主要介绍了node.js中的fs.rename方法使用说明,本文介绍了fs.rename的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下的相关资料
    2014-12-12
  • 手写Node静态资源服务器的实现方法

    手写Node静态资源服务器的实现方法

    这篇文章主要介绍了手写Node静态资源服务器的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论