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已经存在于这个世界上了,且是唯一不可变的,所以用单例模式
相关推荐
佛祖让我来巡山1 小时前
【工厂和策略设计模式妙用】解决接口选择与多重if-else 问题
设计模式·策略模式·工厂模式
hqxstudying5 小时前
Java创建型模式---原型模式
java·开发语言·设计模式·代码规范
WebInfra7 小时前
如何在程序中嵌入有大量字符串的 HashMap
算法·设计模式·架构
Gavynlee11 小时前
plantuml用法总结
设计模式
DKPT12 小时前
Java享元模式实现方式与应用场景分析
java·笔记·学习·设计模式·享元模式
缘来是庄12 小时前
设计模式之迭代器模式
java·设计模式·迭代器模式
摘星编程15 小时前
深入解析迭代器模式:优雅地遍历聚合对象元素
设计模式·迭代器模式·软件开发·编程技巧·面向对象设计
DKPT19 小时前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
缘来是庄1 天前
设计模式之中介者模式
java·设计模式·中介者模式
GodKeyNet1 天前
设计模式-责任链模式
java·设计模式·责任链模式