大白话讲js设计模式---第一篇:工厂模式

众所周知,程序设计模式有20多种,js常用的设计模式大概有7-9种。
好的设计模式在平时的开发中能提升效率,精简代码。
学好设计模式是程序员提升自己的一个途径之一。
复制代码

今天讲第一篇--工厂模式,之后会一周定期更新3-4篇文章。

一:工厂模式

工厂模式:顾名思义就是向工厂一样能生产出成套的成品。举个生活中的例子,例如,你想吃汉堡了,你只需要去汉堡店买就行,你不需要在意汉堡的成分有哪些,不需要提供原材料,服务员会将做好的汉堡包装好给你。这其实就是个工厂模式,你不需要在意细节,你拿来用就ok了。

工厂模式在js中的存在形式

  1. 将new操作简单的封装,
  2. 遇到new 可以考虑是否使用工厂模式
代码展示

class Product{
    constructor(name){
       this.name = name

    }
    sayname(){
        alert(this.name)
    }
    sayage(){
        alert('age')
    }
    
}

class Creator{
    create(name){
        return new Product(name)
    }
}


//测试代码
let creator = new Creator()
let instance = creator.create('111')
instance.sayname()
instance.sayage()复制代码

--以上代码就是一个典型的工厂模式

实际开发的运用场景

  1. jquery的$对象就是一个工厂模式。

    $('p')  //每次jquery的取一个元素都是$() 而不是new $(),正因为不是每次new $,
    所以很明显jquery运用了工厂模式
    
    好处:1.书写简单,让jquery的链式操作让开发者使用的很舒服,
    否则每有一个选项就得new 一个jquery对象2.但jquery改名,不需要更换代码.
    复制代码

总结:

工厂模式就是就是对new操作符进行了封装,书写简单,能减少冗余代码。

最后附上用es6实现的微小版jquery,希望能加深对工厂模式的理解。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值