关于单例模式我所知道的

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

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
目录
相关文章
|
1月前
|
设计模式 安全 测试技术
【C++】—— 单例模式详解
【C++】—— 单例模式详解
|
1月前
|
C++
【C++ 单例模式】
【C++ 单例模式】
|
1月前
|
设计模式 安全
【单例模式】—— 每天一点小知识
【单例模式】—— 每天一点小知识
|
10月前
|
设计模式 Java Spring
什么场景要使用单例模式,什么场景不能使用?
经常有小伙伴问我,设计模式学了这么久,每次看到概念也都能理解。但是,就是不知道怎么用,在哪里能用?我告诉大家,设计模式,不是为了要用而用的,而是作为前人总结下来的经验,等到哪天需要用的时候,你能想起来为你所用。
76 0
|
SQL 安全 Java
五种单例模式介绍
五种单例模式介绍
73 0
|
设计模式 缓存
我学会了,单例模式
单例模式属于创建型模式,这个类型的设计模式是将 对象的创建和使用解耦了,花式的去创建对象。
110 0
我学会了,单例模式
|
SQL 设计模式 安全
单例模式详解
单例模式详解
224 0
单例模式详解
|
设计模式 安全 Java
回顾一下单例模式
回顾一下单例模式
104 0
|
安全 Java 容器
单例模式的应用(3)
单例模式的应用(3)
152 0
|
开发框架 安全 Java
单例模式的应用(1)
单例模式的应用(1)
123 0