js 工厂模式简要介绍

什么是工厂模式?就好比一个工厂,能造汽车、飞机...,通过对外接口,由顾客决定,来定制哪一款产品。

在js内表现为,一个工厂函数/对象,包含汽车、飞机等子类,提供对外接口,根据参数返回不同子类的实例

简单实例如下:

var factory= {
    car:function(name, size){
        this.name= name;
        this.size= size;
        this.getName= function(){
            return this.name
        }
    },
    plane:function(name, size){
        this.name= name;
        this.size= size;
        this.getName= function(){
            return this.name
        }
    },
    makeCar:function(name, size){
        return new this.car(name, size)
    },
    makePlane:function(name, size){
        return new this.plane(name, size)
    },
    make:function(type, name, size){
        return new this[type](name, size)
    }
}

var o= factory.make('plane', '波音', 1000)
console.log(o.getName())

何时使用:

1.对象构建十分复杂

2.需要依赖具体环境创建不同实例

3.处理大量具有相同属性的小对象

优点:

消除对象之间的耦合,将所有实例化的代码放在一个位置以免代码重复

缺点:

大多数类最好使用new关键字和构造函数,可以让代码更加简单易读。而不必去查看工厂方法来知道

转载于:https://www.cnblogs.com/yanze/p/7493920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值