设计模式之单例模式(TypeScript篇)

一、单例模式介绍

这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。

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();

当然这只是最简单的单例模式的实现。在其他语言中还有很多种根据不同场景的实现方法。有兴趣可以自行搜索。

你可能感兴趣的:(javascript)