iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JavaScript设计模式中的观察者模式怎么实现
  • 315
分享到

JavaScript设计模式中的观察者模式怎么实现

2023-07-02 12:07:35 315人浏览 薄情痞子
摘要

本文小编为大家详细介绍“javascript设计模式中的观察者模式怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript设计模式中的观察者模式怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知

本文小编为大家详细介绍“javascript设计模式中的观察者模式怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript设计模式中的观察者模式怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

观察者设计模式

观察者设计模式中分为被观察者和观察者,当被观察者触发了某个边界条件,观察者就会触发事件,这里需要俩个构造函数进行观察者设计模式一个是被观察者一个是观察者

我们来利用观察者监听对象某个属性的修改操作,对象某个属性的修改会触发观察者的某些方法

初始数据

   let obj = {            name: "若水"        }

被观察者

创建被观察者,我们给被观察者定义一个初始化状态,用于记录观察属性的初始值,还需定义一个观察者方法队列,用于对观察者的增删操作且还用于触发观察者身上的方法,被观察者类身上还有三个方法,修改被观察者属性方法,修改被观察者属性方法一是用于修改被观察者值,二是用于触发自身上的观察者方法,添加观察者方法,用于给自身上添加观察者,删除观察者方法,用于删除自身上的观察者

 // 被观察者类        class Subject {        //未传值初始为空            constructor(state = "") {                // 初始状态                this.state = state                // 观察者方法队列                 this.observsers = []            }            // 设置自己的状态            setState(val) {            // 告诉观察者目前改变成了什么状态                this.state = val;                // 同时需要把自己身上的观察者方法全部触发                this.observsers.map(item => {                    // item是每一个观察者,每一个观察者是一个对象                    item.callback(this.state);                })            }            // 添加观察者            addObserver(observer) {                // 把观察者传递进来                this.observsers.push(observer)            }            // 删除观察者            removeObserver(observer) {                // 过滤出来非当前观察者的观察者                this.observsers = this.observsers.filter(obs => obs !== observer);            }        }

观察者

创建观察者,用于定义观察者的身份以及执行观察者的方法,观察者有一个属性是表示自己的身份,一个是自己方法,用于被观察者触发使用

    // 观察者类        class Observer {            // name需要观察的参数             // callback 观察的参数达到边界条件触发的事件            constructor(name, callback = () => { }) {                this.name = name;                this.callback = callback;            }        }

最后我们来使用一下:

     // 创建观察者        const ObserverName = new Observer('监听obj改变', () => { console.log('obj发生改变'); })        // 创建一个被观察者        const name = new Subject(obj.name)        // 添加一个观察者        name.addObserver(ObserverName)        //触发观察者方法        name.setState('前端若水')

观察者设计模式适用于监听一对多的操作,例如监听对象属性的修改等等,观察者模式能够降低代码耦合度,提升可扩展性,但是被观察者拥有过多的观察者进行监听会提高运行时间以及程序的复杂程度

读到这里,这篇“JavaScript设计模式中的观察者模式怎么实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: JavaScript设计模式中的观察者模式怎么实现

本文链接: https://www.lsjlt.com/news/341824.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript设计模式中的观察者模式怎么实现
    本文小编为大家详细介绍“JavaScript设计模式中的观察者模式怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript设计模式中的观察者模式怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-07-02
  • JavaScript设计模式中的观察者模式
    目录观察者设计模式初始数据被观察者观察者观察者设计模式 观察者设计模式中分为被观察者和观察者,当被观察者触发了某个边界条件,观察者就会触发事件,这里需要俩个构造函数进行观察者设计模式...
    99+
    2024-04-02
  • PHP设计模式之观察者模式怎么实现
    这篇文章主要介绍“PHP设计模式之观察者模式怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP设计模式之观察者模式怎么实现”文章能帮助大家解决问题。PHP观察者模式(Observer Pa...
    99+
    2023-07-05
  • PHP设计模式(观察者模式)
    PHP 设计模式之观察者模式 介绍 现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式! 这就向写文章一样,有的人喜欢文章按照套路走,比如叙事性质的文章,时间,地点,人物,...
    99+
    2024-04-02
  • Java设计模式中的观察者模式
    目录一.介绍二.场景约束三.UML类图四.示意代码(版本一)五.示意代码(版本二)六.观察者模式与发布订阅模式七.优点八.在JDK中的典型应用一.介绍 观察者模式(Observer ...
    99+
    2023-02-16
    Java观察者模式 Java设计模式
  • Java设计模式之观察者模式
    目录一、观察者模式的定义和特点二、观察者模式的结构三、代码实例代码示例总结 一、观察者模式的定义和特点 观察者模式的定义: 指多个对象间存在一对多的依赖关系,当一个对象的状态发生改...
    99+
    2024-04-02
  • Java设计模式中的观察者模式怎样的
    今天就跟大家聊聊有关Java设计模式中的观察者模式怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、观察者模式的定义和特点观察者模式的定义:指多个对象间存在一对多的依赖关系,当...
    99+
    2023-06-22
  • JavaScript观察者模式:揭秘设计模式的奥妙
    观察者模式是一种软件设计模式,它允许一个对象(发布者)的状态或者行为的变化通知依赖于它的其他对象(观察者)。当发布者状态发生改变时,所有注册的观察者都会收到通知,并做出相应的反应。 观察者模式在JavaScript中实现起来非常简单,它...
    99+
    2024-02-03
    JavaScript 观察者模式 设计模式 事件 监听器 发布/订阅
  • 怎么用Javascript实现观察者模式
    本篇内容主要讲解“怎么用Javascript实现观察者模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Javascript实现观察者模式”吧!什么是观察者模式?观察者模式一种设计模式。观...
    99+
    2023-06-21
  • PHP设计模式中观察者模式详解
    目录简介适用场景缺点补充代码(自定义实现)简介 观察者模式是行为型模式的一种,定义了对象间一对多的关系。当对象的状态发生变化时候,依赖于它的对象会得到通知。 适用场景 类似触发钩子事...
    99+
    2022-12-20
    PHP观察者模式 PHP设计模式
  • PHP设计模式中观察者模式讲解
    目录简介适用场景优点缺点补充代码(自定义实现)代码(基于SPL实现)简介 观察者模式是行为型模式的一种,定义了对象间一对多的关系。当对象的状态发生变化时候,依赖于它的对象会得到通知。...
    99+
    2022-11-13
    PHP观察者模式 PHP设计模式
  • Java设计模式之观察者模式(Observer模式)
    目录一、观察者模式是什么?二、模式分析2.1 四个角色2.2 案例三、观察者模式的优缺点四、总结一、观察者模式是什么? 当对象间存在一对多关系时,则使用观察者模式(Observer ...
    99+
    2024-04-02
  • 怎么理解Java设计模式的观察者模式
    本篇内容介绍了“怎么理解Java设计模式的观察者模式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么是观察者模式在许多设计中,经常涉及...
    99+
    2023-06-25
  • Javascript中如何实现观察者模式
    本篇文章为大家展示了Javascript中如何实现观察者模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。基础知识观察者模式定义了对象间的一种一对多依赖关系,每当一...
    99+
    2024-04-02
  • 怎样用JavaScript实现观察者模式
    目录概述观察者模式的应用场景观察者模式的实现总结概述 观察者模式又被称为发布-订阅模式,是设计模式中的一种行为型模式; 定义: 观察者模式定义了一种一对多的对象依赖关系,当被依赖的对...
    99+
    2024-04-02
  • PHP设计模式之观察者模式浅析
    目录PHP观察者模式(Observer Pattern)模式结构实现步骤代码示例适用场景PHP观察者模式(Observer Pattern) 观察者模式是一种行为设计模式,它定义了一...
    99+
    2023-05-14
    PHP观察者模式 PHP 设计模式 观察者模式
  • JavaScript设计模式之观察者模式的的示例分析
    这篇文章主要介绍JavaScript设计模式之观察者模式的的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文实例讲述了JavaScript设计...
    99+
    2024-04-02
  • Python设计模式行为型观察者模式
    目录一、观察者模式二、应用场景三、代码示例一、观察者模式 观察者模式,必须包含 “观察者” 和 “被观察者” 这两个角色,并且观察者和...
    99+
    2024-04-02
  • vue中怎么实现观察者模式
    vue中怎么实现观察者模式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1 响应式原理让我们先从相应式原理开始。我们可以通过O...
    99+
    2024-04-02
  • java观察者模式怎么实现
    要实现观察者模式,你可以按照以下步骤进行: 定义观察者接口(Observer):该接口应该包含一个方法,用于接收被观察者的通知。 ...
    99+
    2023-10-27
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作