js设计模式:单例模式

作用:

保证一个类只有一个实例,并且提供一个全局的访问位置。

可以用来实现全局的一些状态管理或者独一无二的数据

示例:

javascript 复制代码
      class Wjt{
        constructor(name,idNumber,gender){
           this.name = name
           this.idNumber = idNumber
           this.gender = gender
        }
        //可以直接使用Wjt调用的静态方法
        static getInstance(name,idNumber,gender){
            if(!this.instance){
                this.instance = new Wjt(name,idNumber,gender)
            }
            return this.instance
        }
      }
        
        //王惊涛注册户籍
        const wjt1 = Wjt.getInstance('王惊涛','123456789','man')
        //再次注册户籍
        const wjt2 = Wjt.getInstance('新惊涛','987654321','man')
        console.log(wjt1,'wjt1')
        console.log(wjt2,'wjt2')
        console.log(wjt1 === wjt2)  //true 
        //第一次已经注册成功了,instance已经有了固定的值,wjt已经存在于这个世界上了,且是唯一不可变的,所以用单例模式
相关推荐
geovindu2 小时前
python: N-Barrier Pattern
开发语言·python·设计模式·屏障模式
wunaiqiezixin3 小时前
如何在C++中实现一个单例模式?
c++·单例模式
basketball6164 小时前
设计模式入门:2. 工厂模式详解 C++实现
开发语言·c++·设计模式
basketball6165 小时前
设计模式入门:1. 单例模式详解 C++实现
c++·单例模式·设计模式
小马爱打代码5 小时前
Spring源码中的设计模式实战:从理论到源码的深度解析
java·spring·设计模式
WiLL6 小时前
AI 时代下的 SaaS: Skill As A Service (一)
设计模式·架构
bugcome_com7 小时前
阿里云OSS工具类完整设计与实现:基于.NET的静态单例模式实践
阿里云·单例模式·.net·oss
basketball6167 小时前
设计模式入门:3. 装饰器模式详解 C++实现
c++·设计模式·装饰器模式
咖啡八杯7 小时前
GoF设计模式——装饰模式
java·算法·设计模式·装饰器模式
JAVA96515 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试