JS:设计模式的单例模式、观察者模式、发布订阅模式(五颗星)

1.单例模式

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点

核心:确保只有一个实例,并提供全局访问

实现:假设要设置一个管理员,多次调用也仅设置一次,我们可以缓存一个内部变量来实现这个单例

<script>
        // 正常来说,创建出来的是两个实例
        function Person(name){
            this.name=name
        }
        var p1=new Person("张三")
        var p2=new Person("李四")
        // 正常来说,创建出来的是两个实例
        console.log(p1===p2)//false

        // 单例模式:保证一个类有且只有一个实例----类似于管理员的角色
        var instance=null
        function Animal(name){
            // 第二次实例化-------a2
            // 此时 instance = a1-----此时已经产生实例了
            if(instance){
                return instance  // 返回了a1    --------   a2=a1
            }
            // 第一次实例化------a1 
            // 此时 instance =  null
            this.name=name
            instance=this
        }
        var a1=new Animal("熊猫")
        var a2=new Animal("金丝雀")
        // 现在,创建出来的是同一个实例
        console.log(a1===a2)//true
    </script>

2.观察者模式

观察者模式: 被观察者状态发生改变, 观察者会做出不同的反应

定义:定义了对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。

举例:

1. 售楼部的客服小姐姐---有新的房源---被观察者Subject

2. 直接通知给不同的潜在客户---观察者Observer

3. 不同客户做出不同的反应

观察者模式过程如下:

1. 创建一个被观察者类------销售---------发布者

        2. 创建一个观察者类-------客户购房者---张三李四申五----订阅者

        3. 设置状态

4. 获取状态

5. 创建销售实例

6. 创建多个用户购房者实例

7. 两个类的实例产生关系(加微信)

8.购房者接受状态改变并且说一句话"我收到了"

9.

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

前端面试题 文章被收录于专栏

前端面试的一些常问问题、问题的具体实现(可直接运行)以及底层原理

全部评论
看完狠狠悟了
1 回复 分享
发布于 2023-02-19 11:03 云南
多谢分享 收藏一波
1 回复 分享
发布于 2023-02-19 11:45 四川

相关推荐

03-16 11:19
已编辑
门头沟学院 Java
已经一年没发牛客了,为什么呢,因为没脸发...&nbsp;一年前的我自认为在25届中技术一流,八股无敌,项目出色,但是一年校招的蹉跎让我差点转行。24年春招收割了十几个实习&nbsp;offer&nbsp;之后我去了某家大厂实习到9月份转正失败,那时候的我还没有意识到噩梦将来,7月因为投秋招提前批没反馈,于是开始投了几个实习转正岗位练手又拿了3个中大厂&nbsp;offer,这时的我沉浸在我自以为是的骄傲里。9月秋招正式批开始后我几乎把我能找到的所有的岗位都投了一遍,只收获了大厂海笔,0面试。10月份第一家给我面试的公司是数字马力(蚂蚁的内包),诚恳的说,当时收到这家面试是嚣张的,觉得我拿这个&nbsp;offer&nbsp;如探囊取物,就当个保底吧。...
中街牛奶提子:是啊,不应该在秋招的时候继续投实习岗。也劝26届的,八月末后,实习岗就不应该投,给人错误的行情认知。佬是学院本,觉得约面难,双非何尝不是一样呢,秋招战场的激烈和实习完全不同。当时我秋招的时候也是边面实习,当时面实习面一个过一个觉得自己很优越,觉得能收获一堆实习offer那秋招肯定也行。为什么要在秋招拿一堆实习offer增强自己所谓的虚荣心,当时就是贱,为了所谓的攀比虚荣心
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务