细品 javascript 设计模式(单利模式)

网上一些讲设计模式的文章,一点都不负责。就把代码啪叽!一丢。读者能学到啥?
javascript 这门语言是没有类的概念的,所有的实例本质上都是从另一个实例克隆来的。

所以我自己来给兄弟们写一套详细的吧!我尽量用最少的文字,最少的篇幅,讲明白设计模式的方方面面。
文章连接

理解单利模式

确保只有一个实例,并提供全局访问。
例如 redux 中的 store,线程池,全局缓存,浏览器 window 对象等。

上代码:通用的惰性单利模式

let getSingle = function(fn) {
   
    let result = 'initial_single';
    return function() {
   
        if (result === 'initial_single') {
   
            result = fn.apply(this, arguments);
        }
        return result;
    }
}

// 测试 -----
let Tree = function() {
   
    console.log('something')
}
let getSingleTree = getSingle(Tree)
getSingleTree() // 第一次调用时输出:console.log('something')
getSingleTree() //
getSingleTree() 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值