JavaScript设计模式之观察者模式实例详解

2024-06-24 11:12:14阅读量:43 字体:

本文实例讲述了JavaScript设计模式之观察者模式。分享给大家供大家参考,具体如下:

观察者模式

观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。

* 它分为2个角色:(1)观察者 (2)被观察者

* 观察者模式的目的:对程序的内在变化进行观察,当其有变化的时候,你可以得知,并且可以做出相应的反应。

现在我们通过一个需求来学习该模式:模拟订阅者和报社之间的关系

在这个过程中:实际的操作分为(推模式,拿模式)

(1)推送-->长连接技术

(2)拿模式-->定时去后台去取得

使用代码实现如下:

(1)发布类

JavaScript设计模式之观察者模式实例详解

(2)扩展一个发布者的发布消息的方法(推模式)

(3)扩展公共订阅的函数,和取消订阅的函数

订阅的函数:

取消的函数:

(4)创建发布的实例

(5)发布部分

(5.1)使用门面模式--针对各浏览器的事件绑定兼容问题

(5.2)创建主应用函数

最后,订阅者界面

效果为:

(1)cctv模块的

(2)gfb的效果为:

补充:上述用到的forEach方法和filter方法代码为:

总结:

1.支持简单的广播通信,自动通知所有的监听者。

2.当页面载入后,被观察对象很容易与观察者有一种动态关联的关系,来增加灵活性。

3.被观察对象,与观察者之间的抽象耦合关系能够单独的扩展和重用。


推荐阅读

  • 怎么把小红书的视频提取出来

    怎么把小红书的视频提取出来

    小红书的视频可以通过保存视频的方式提取到手机上,小红书通过保存提取视频的具体步骤如下: 怎么把小红书的视频提取出来 1、打开小红书app,然后选择需要提取的视频。 2、选择需要提取的视频后,选择右上...

    阅读: 1859

  • 抖音可以注销了重新注册吗

    抖音可以注销了重新注册吗

    抖音注销了可以重新注册,抖音账号注销后,一般需要两个星期过后才可以重新注册账号。具体的操作方式如下: 抖音可以注销了重新注册吗 1、打开抖音,点击进入我”的界面。 2、进入我&rdquo...

    阅读: 846

  • 美团异地怎么点外卖给别人

    美团异地怎么点外卖给别人

    美团异地可以通过修改收货地址的方法来给别人点外卖,修改收货地址给别人点外卖的具体操作步骤如下: 美团异地怎么点外卖给别人 1、打开美团app,在首页上方点击外卖进入外卖界面。 2、进入外卖界面后,点...

    阅读: 878

  • 支付宝悄悄话怎么知道对方看没看

    支付宝悄悄话怎么知道对方看没看

    支付宝的悄悄话是阅后即焚的消息,如果发送悄悄话过去,悄悄话消失了就证明对方已看。具体操作方法如下: 支付宝悄悄话怎么知道对方看没看 1、打开手机支付宝app,点击消息”,再点击右上角人像。...

    阅读: 1665

  • 健康码代领怎么弄

    健康码代领怎么弄

    在家里的老人孩子都不会操作手机的时候,可以代领健康码,在微信的防疫健康码中即可进行代领。具体操作方法如下: 健康码代领怎么弄 1、打开手机微信app,点击我”。 2、点击服务&rdquo...

    阅读: 870

  • 倒数日怎么删除不用的事件

    倒数日怎么删除不用的事件

    倒数日是一款倒计时软件,添加的事件可以进行删除,进入事件编辑即可删除。具体操作方法如下: 倒数日怎么删除不用的事件 1、打开手机倒数日app,点击需要删除的事件,进入事件页面。 2、点击右上角笔的标...

    阅读: 829