前端中的设计模式——单例模式

  1. 什么是单例模式:

    保证一个类仅有一个实例,并提供一个访问它的全局访问点.

  2. 为什么需要单例模式:

    • 为了将“描述同一件事务的属性或者特征归纳汇总在一起”,同时避免全局变量污染.
    • 模块化开发之间数据的共享.(状态管理)
  3. 单例模式的优点:

    • 对于频繁使用的对象,可以省略创建对象所花费的时间.
    • 由于 new 操作的次数减少,对系统内存的使用频率也会降低.
    • 全局唯一性,可以保证全局数据和功能的共享.
  4. 常见的单例模式:

    • 浏览器中的window对象
    • 类库中的全局对象,例如Vuex、Redux
    • 小程序中的App对象.(getApp()方法其实就是获取唯一的App实例)
  5. 单例模式的实现:

    class God {
      constructor() {
        this.instance = null;
        this.human = [];
      }
    
      static getInstance() {
        const { instance } = this;
        this.instance =  instance ? instance : new God();
        return this.instance;
      }
    
      create(item) {
        this.human.push(item);
      }
    }
    
  6. 纯净的单例模式:

    class God {
    
      static instance = null;
    
      constructor() {
        let { instance } = God;
        this.human = [];
        instance =  instance ? instance : this;
        return instance;
      }
    
      create(item) {
        this.human.push(item);
      }
    }
    
  7. 应用场景:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值