知食记
搜索文档…
单例模式

定义

保证一个类仅有一个实例,并提供访问此实例的全局访问点。
单例模式属于创建型模式。

使用场景

如果一个类负责连接数据库的线程池、日志记录逻辑等等,此时需要单例模式来保证对象不被重复创建,以达到降低开销的目的。

JavaScript代码实现

1
const Singleton = function() {};
2
3
Singleton.getInstance = (function() {
4
// 由于es6没有静态类型,故闭包: 函数外部无法访问 instance
5
let instance = null;
6
return function() {
7
// 检查是否存在实例
8
if (!instance) {
9
instance = new Singleton();
10
}
11
return instance;
12
};
13
})();
14
15
let s1 = Singleton.getInstance();
16
let s2 = Singleton.getInstance();
17
18
console.log(s1 === s2);
Copied!
最近更新 2yr ago