关于单例模式我所知道的

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

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
目录
相关文章
|
6月前
|
设计模式 安全 测试技术
【C++】—— 单例模式详解
【C++】—— 单例模式详解
|
1月前
|
C++
C++单例模式
C++中使用模板实现单例模式的方法,并通过一个具体的类A示例展示了如何创建和使用单例。
29 2
|
5月前
|
设计模式 安全 Java
单例模式分享
单例模式分享
23 0
|
6月前
|
设计模式 安全 Java
单例模式
​ 如有错误或有补充,以及任何的改进意见,请在评论区留下您的高见,同时文中给出大部分的示例 如果觉得本文写的不错,不妨点个赞,收藏一下,助力博主产生质量更高的作品 概念 单例模式(Singleton Pattern)是软件设计模式的一种,用于确保一个类只有一个实例,并提供一个全局访问点。这种模式通常用于需要频繁创建和销毁同一对象的场景,以减少系统资源的消耗和提高性能。 优缺点 优点: 实例控制:单例模式确保类只有一个实例,可以防止其他对象实例化自己的副本,从而确保所有对象都访问唯一实例。 节约资源:由于系统中只存在一个对象,可以节约系统资源,特别是在需要频繁创建和销毁对象的场景中,可
54 0
|
6月前
|
设计模式 安全
【单例模式】—— 每天一点小知识
【单例模式】—— 每天一点小知识
找对象需要单例模式吗?
单例模式的类只提供私有的构造函数
|
SQL 安全 Java
五种单例模式介绍
五种单例模式介绍
91 0
|
存储 安全 调度
单例模式的简单介绍
单例模式的简单介绍
|
设计模式 缓存
我学会了,单例模式
单例模式属于创建型模式,这个类型的设计模式是将 对象的创建和使用解耦了,花式的去创建对象。
128 0
我学会了,单例模式
|
XML 设计模式 安全
单例模式,真不简单
单例模式,真不简单
单例模式,真不简单