node.js的exprots工厂模式

工厂类:

/**
 * Created by zzq on 2015/5/15.
 */
module.exports = function(){
    this.getProduct = function(){
        console.log(‘重写这个方法获得相应的产品对象!‘);
    }
}

产品A:

/**
 * Created by zzq on 2015/5/15.
 */
var product = require(‘./product‘);
var util = require(‘util‘);

var productA = function(){
    product.call(this);
    this.getProduct = function(){
        console.log(‘获得了产品A对象!‘);
    }
}

util.inherits(productA, product);

module.exports = productA;

产品B类与A写法相同。。。

简单产品工厂:

/**
 * Created by zzq on 2015/5/15.
 */
var productA = require(‘./productA‘);
var productB = require(‘./productB‘);

var initProduct = function(type) {
    switch (type) {
        case ‘productA‘:
        {
            return new productA();
        };break;
        case ‘productB‘:
        {
            return new productB();
        };break;
    }
}

exports.initProduct = initProduct;

mainApp:

/**
 * Created by zzq on 2015/5/15.
 */

var productFactory = require(‘./productFactory‘);
var productA = productFactory.initProduct(‘productA‘);
productA.getProduct();
时间: 2024-07-28 23:50:36

node.js的exprots工厂模式的相关文章

JS 设计模式(工厂模式环境搭建)

<!--引入的核心JS文件--> <script type="text/javascript" src="CommonUtil.js"></script> <script type=text/javascript charset=utf-8> <!--JS设计模式(工厂模式)--> //搭建一个工厂环境 //卖车店 function CarShop(){}; CarShop.prototype={ cons

js设计模式:工厂模式、构造函数模式、原型模式、混合模式

一.js面向对象程序 var o1 = new Object(); o1.name = "宾宾"; o1.sex = "男"; o1.age = "27"; o1.msg = function(){ console.log("姓名:"+this.name+"  性别:"+this.sex+"  年龄:"+this.age); } var o2 = new Object(); o2.nam

JS设计模式--简单工厂模式

在JS中创建对象会习惯的使用new关键字和类构造函数(也是可以用对象字面量). 工厂模式就是一种有助于消除两个类依赖性的模式. 工厂模式分为简单工厂模式和复杂工厂模式,这篇主要讲简单工厂模式. 简单工厂模式:使用一个类来生成实例. 复杂工厂模式:使用子类来决定一个成员变量应该是哪个具体的类的实例. 简单工厂模式: 常用对象方法创建和调用 var BallShop = function(){}; BallShop.prototype = { sellBall : function(model){

JS设计模式之工厂模式

简单工厂模式 又叫静态工厂方法:由一个工厂对象决定用那一种类来创建产品,主要用来创建同一类对象,是类的实例化的包装. var PlayBaseketball = function () { this.neededPeople = 15; }; PlayBaseketball.prototype.rule = function () { console.log('运球,传球,投篮,'); }; var playFootball = function () { this.neededPeople =

js之简单工厂模式

简单工厂模式是由一个方法来决定到底要创建哪个类的实例, 而这些实例经常都拥有相同的接口. 这种模式主要用在所实例化的类型在编译期并不能确定, 而是在执行期决定的情况. 说的通俗点,就像公司茶水间的饮料机,要咖啡还是牛奶取决于你按哪个按钮. e.g. var BicycleShop = function(){}; BicycleShop.prototype = { sellBicycle : function( model ){ var bicycle; switch( model ){ case

JS 构造函数和工厂模式创建对象的方式

工厂模式 1 function createPerson (name,age,job) { 2 var o=new Object(); 3 o.name=name; 4 o.age=age; 5 o.job=job; 6 o.sayName=function(){ 7 alert(this.name); 8 }; 9 return o; 10 }; 11 var person1=createPerson("Terry",24,"Software Engineer")

JS “eval智能” 工厂模式

<script> var Shop = function () { this.name = function () { document.write("商店的名字 <br/>"); }, this.local = function () { document.write("商店的位置 <br/>"); } }; var ToolShop = function () { ToolShop.convertASThis.construc

Node.js 的回调模式

我们都知道在javaScript中,如果在head标签里面引入script脚本,在打开web的时候,浏览器会先加载head中的信息,再加载body的信息: 如果head中有link标签,浏览器会开启一个异步线程加载link链接的外部样式(CSS),在加载CSS样式的同时,浏览器会继续往后加载,并不会等到CSS加载完: 当浏览器遇到未设置javaScript异步加载模式的script脚本的时候,浏览器会停止继续加载,也就是发生了浏览器阻塞,只有等到script脚本加载完成后才继续往后加载. 这样就

NODE.JS 与 V8 的故事

要说Node.js的历史,就不得不说说V8历史.在此之前我们先一句话描述一下什么是Node.js:Node.js是一个基于Google Chrome V8 Javascript引擎之上的平台,用以创建轻量级.快速.可扩展.事件驱动和非阻塞I/O的应用.现在我们来说说Node.js的源头--V8 javascript引擎. V8是Google主导的一个开源项目,它是Chrome浏览器的核心.它首次公开发布是在2008年9月2日,这天也是Chrome浏览器的首个版本发布.它是浏览器性能的一次飞跃,它