单例模式

2021-08-09 20:38:22 设计模式 小于 1 分钟

单例对象的类只能允许一个实例存在。主要用于为了避免重复新建,避免多个对象存在互相干扰,其目的是需要确保全局只有一个对象。例:window的任务管理器

# 数据储存对象

实现一个全局的数据储存者,这个储存者只能有一个,不然会需要进行同步,增加复杂度。

function store(){
  if(store.install){
  	return store.install;
  }
  this.store = {

  }
  store.install=this;
}
store.install=null;

// 此时s1和s2其实是同一个实例
var s1 = new store();
var s2 = new store();
s1.store.a = 1;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 全局唯一的vue路由

在我们vue.use()的时候,保证只进行一次注册;

//vue-router
let _Vue;
function install (_Vue) {
  if (install.installed && _Vue === Vue) return
  install.installed = true
  
  _Vue = Vue
}
1
2
3
4
5
6
7
8
上次编辑于: 2023年7月4日 09:36