js设计模式之工厂方法模式

对于创建多类对象,简单工厂就不太实用了。

 通过工厂方法模式可以轻松的创建多个类的实例对象,而且创建对象的方式避免了使用者与对象类之间的耦合,用户不必关心创建该对象的具体类,只需调用工厂方法即可。

安全的工厂方法模式

var Factory=function(type,content){
    if(this instanceof Factory){
        var s = new this[type](content);
    }else{
        return new Factory(type,content);
    }
}
//工厂原型中设置创建所有类型数据对象的基类
Factory.prototype = {
    Java: function( content ){
        console.log(content);
    },
    JavaScript: function( content ){
        console.log(content);
    }
}

测试的数据

var data=[
    {type:'Java',content:'java'},
    {type:'Java',content:'java2'},
    {type:'JavaScript',content:'javascript'},
    {type:'Java',content:'java3'}
];
var len = data.length-1;
for(var i=len;i>=0;i--){
   Factory(data[i].type,data[i].content);
}

返回结果:


希望大神多多指点。qq:274501366

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值