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

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。