关于单例模式我所知道的

简介: 关于单例模式我所知道的

image.png

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

对于前端而言,单例模式并不陌生,浏览器中的 window 就是最典型的单例模式。

举个例子:单例模式 codesandbox


定义


一个类只允许创建一个对象(或者叫实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。


实现


class Singleton {
  private static instance: Singleton;     
  private constructor() {}
  public static getInstance(): Singleton {
    if (!Singleton.instance) {
      Singleton.instance = new Singleton();
    }
    return Singleton.instance;
  }
  public someBusinessLogic() {
    // ...
  }
}
function clientCode() {
  const s1 = Singleton.getInstance();
  const s2 = Singleton.getInstance();
  if (s1 === s2) {
    console.log("Singleton works, both variables contain the same instance.");
  } else {
    console.log("Singleton failed, variables contain different instances.");
  }
}
clientCode();

应用场景


  1. 需要频繁实例化然后销毁的对象 (弹窗 dialog)
  2. 创建对象时耗时过多或耗资源过多,但又经常用到的对象。(window)
  3. 系统的配置信息或者用户信息 info config
目录
相关文章
|
8月前
|
设计模式 安全
详细讲解什么是单例模式
详细讲解什么是单例模式
|
2月前
|
设计模式 安全 C#
C# 单例模式的多种实现
C# 单例模式的多种实现
|
5月前
|
存储 设计模式 测试技术
单例模式
单例模式
|
设计模式 安全 Java
单例模式的运用
单例模式的运用
50 0
|
设计模式 Java Spring
什么场景要使用单例模式,什么场景不能使用?
经常有小伙伴问我,设计模式学了这么久,每次看到概念也都能理解。但是,就是不知道怎么用,在哪里能用?我告诉大家,设计模式,不是为了要用而用的,而是作为前人总结下来的经验,等到哪天需要用的时候,你能想起来为你所用。
114 0
|
安全 Java
原来要这么实现单例模式
原来要这么实现单例模式
64 0
|
SQL 安全 Java
五种单例模式介绍
五种单例模式介绍
97 0
|
安全 Java
单例模式很简单
《基础系列》
128 0
单例模式很简单
|
设计模式 安全 前端开发
关于单例模式,你应该了解这些
关于单例模式,你应该了解这些
关于单例模式,你应该了解这些
|
XML 设计模式 安全
单例模式,真不简单
单例模式,真不简单
单例模式,真不简单