一、单例模式介绍
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
关键代码:构造函数是私有的。
二、实现
export default class SingleObject {
//声明静态变量
private static instance:SingleObject;
//私有构造函数
private constructor() { }
//获取唯一可用的对象
public static getInstance(){
if(!this.instance){
this.instance = new SingleObject();
}
return this.instance;
}
public showMessage(){
console.log("Hello World!");
}
}
let sing:SingleObject = SingleObject.getInstance();
sing.showMessage();
当然这只是最简单的单例模式的实现。在其他语言中还有很多种根据不同场景的实现方法。有兴趣可以自行搜索。