关于单例模式我所知道的

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

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
目录
相关文章
|
2月前
|
设计模式 安全 C#
C# 单例模式的多种实现
C# 单例模式的多种实现
|
8月前
|
设计模式
单例模式
单例模式
44 0
|
设计模式 安全 编译器
2023-6-12-第三式单例模式
2023-6-12-第三式单例模式
77 0
|
设计模式 C#
C# 机房重构单例模式
C# 机房重构单例模式
76 0
|
SQL 安全 Java
五种单例模式介绍
五种单例模式介绍
97 0
|
安全 Java
单例模式很简单
《基础系列》
128 0
单例模式很简单
|
设计模式 缓存 JSON
没那么简单的单例模式
没那么简单的单例模式
132 0
没那么简单的单例模式
|
SQL 安全 Java
单例模式的理解
谈谈你对单例模式的理解。也算是老生常谈的问题了~~~
1074 1
|
数据采集 设计模式 算法
大佬,人人都说精通的单例模式,你精通了吗
大佬,人人都说精通的单例模式,你精通了吗
94 0
大佬,人人都说精通的单例模式,你精通了吗
|
XML 设计模式 安全
单例模式,真不简单
单例模式,真不简单
单例模式,真不简单

热门文章

最新文章

下一篇
开通oss服务