JavaScript提升系列——设计模式(一):单例模式

本文深入解析单例模式的概念、实现方式(通过构造函数和静态方法),并探讨其在实际项目中的应用场景,如JavaScript中控制弹出框的唯一实例。了解单例模式如何确保实例的唯一性和全局访问,及其控制与初始化分离的重要性。
摘要由CSDN通过智能技术生成

前言

在之前我前几年的学生生涯中,我真的不太理解设计模式到底是干什么,他针对那些方面。现在也不是很明白,就比如下面的单例模式,虽然我理解他的概念,但是真正需要使用的时候,我也不一定写的出来。我过随着成长,我慢慢的理解了,他们的出现并能生存的意义。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是单例模式

单例模式的特性

  • 1、类只有一个实例。(唯一)
  • 2、全局可以访问该实例。(可全局访问)
    ,满足上述两点条件就是一个单例模式。

那么有人问,全局对象是不是一个单例模式?(全局变量:全局可以访问,只有一个)。他不是一个正规单例,不可争议他确实满足单例模式的特点


二、如何使用

    class Singleton {
    constructor(name) {
        this.name = name;
        this.instance = null;
    }
    static getInstance(name) {
        console.log(this.instance)
        if(!this.instance) {
            this.instance = new Singleton(name);
        }
        return this.instance;
    }
}

var oB = Singleton.getInstance('sddawd');
var oA = Singleton.getInstance('hidawd');

console.log(oA,oB)
//Singleton {name: "sddawd", instance: null}
//Singleton {name: "sddawd", instance: null}

如上述代码我们可以看到,当有了第一次实例之后,不管我们创建多少个他都只能放回第一次创建的对象。

三、使用场景

  • 使用JavaScript写一个弹出框,每次点击弹出按钮只弹出第一次生成的那个弹出框。

想了这么久,也不知道其他的应用场景在哪里。这里大家需要大家自己思考和总结。

总结

单例模式顾名思义,单就是单一,例就是实例。连在一起就是,单一的实例。好的单例模式他的控制与初始化代码是分别管控的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值