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已经存在于这个世界上了,且是唯一不可变的,所以用单例模式
相关推荐
数据智能老司机3 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机4 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构
烛阴7 小时前
【TS 设计模式完全指南】懒加载、缓存与权限控制:代理模式在 TypeScript 中的三大妙用
javascript·设计模式·typescript
李广坤8 小时前
工厂模式
设计模式
幂简集成explinks1 天前
e签宝签署API更新实战:新增 signType 与 FDA 合规参数配置
后端·设计模式·开源
大飞pkz1 天前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
努力也学不会java1 天前
【设计模式】抽象工厂模式
java·设计模式·oracle·抽象工厂模式
青草地溪水旁1 天前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
c++·设计模式·抽象工厂模式
青草地溪水旁1 天前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(1)
c++·设计模式·抽象工厂模式
Magnetic_h2 天前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa