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已经存在于这个世界上了,且是唯一不可变的,所以用单例模式
相关推荐
HL_风神6 小时前
设计原则之迪米特
c++·学习·设计模式
HL_风神6 小时前
设计原则之合成复用
c++·学习·设计模式
Aeside19 小时前
揭秘 Nginx 百万并发基石:Reactor 架构与 Epoll 底层原理
后端·设计模式
帅气的你10 小时前
从零封装一个通用的 API 接口返回类:统一前后端交互格式
java·设计模式
阿里巴巴淘系技术团队官网博客10 小时前
GenAI输出内容控制的5种设计模式
设计模式
茶本无香11 小时前
单例模式深度解析:饿汉式与懒汉式的实现与选择
java·单例模式
沛沛老爹12 小时前
Skills高级设计模式(一):向导式工作流与模板生成
java·人工智能·设计模式·prompt·aigc·agent·web转型
__万波__14 小时前
二十三种设计模式(二十二)--策略模式
java·设计模式·策略模式
Overt0p15 小时前
抽奖系统(6)
java·spring boot·redis·设计模式·rabbitmq·状态模式
__万波__15 小时前
二十三种设计模式(二十三)--责任链模式
java·设计模式·责任链模式