一、单例模式介绍

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

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

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

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐