JavaScript -- 设计模式 创建型设计模式-工厂模式

也许你在网上看到有关工厂模式的其他教程(包括我在内,我在学校学习工厂模式时,老师用的c#),那些并不适合前端(JS)。

在前端中,当你考虑使用new运算符来创建对象的时候,就可以考虑使用工厂模式了。

工厂模式的类图可以是这样的

我不直接使用Product来生成实例,而是通过使用Creator.create方法来实现这个功能。

class Product {
    constructor(name) {
        this.name = name;
    }
    init() {}
    fn1() {}
    fn2() {}
}
class Creator {
    create() {
        return new Product();
    }
}

使用工厂模式的好处:

使得调用者不用关注细节,只需要简单的调用一个方法即可,使得创建者和调用者分离。

在前端中,那些地方用到了工厂模式。

1:  JQ的$运算符这就是一个工厂模式。

class jQuery {
    constructor(selector) {
        super(selector)
    }
    //  ....
}

window.$ = function(selector) {
    return new jQuery(selector)
}

2:React.createComponent()方法

熟悉react的应该知道createComponent是干什么的。

不难发现这些我们常用的框架 都有工厂模式的身影。

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值