保证一个类仅有一个实例,并且提供它的全局访问点,这种模式就叫单例模式
如何保证一个类只有一个实例?需要构造具备判断自己是否已经创建过一个实例的能力
class Singleton {
static getInstance() {
if(!Singleton.instance) {
Singleton.instance = new Singleton()
}
return Singleton.instance
}
}
const s1 = Singleton.getInstance()
const s2 = Singleton.getInstance()
s1 === s2
对于频繁使用并且可以重复使用的对象可以使用单例模式,避免不必要的内存消耗和垃圾回收