设计模式 --观察者模式

本文介绍了观察者模式,一种解决一对多信息通信问题的设计模式。通过实例解释了为何需要观察者模式,如动态数据更新时避免无效操作,以及如何通过被观察者收集并通知观察者来实现这一模式。文章以JavaScript为例,探讨了被观察者和观察者的具体流程,包括收集观察者、添加观察者、通知观察者以及观察者接收通知的过程。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、什么是观察者模式

由图可知,观察者模式分为两个角色,一个观察者一个被观察者,他们之间存在着某种联系,被观察者和观察者都可以是任意事物,观察者模式只要观察者和被观察者满足一定的条件,就可以被称为观察者模式,观察者模式是站在被观察者的角度,每个符合观察者模式的被观察者是唯一的,但任意事物都可以充当被观察者,具体什么意思我们继续往下看:

二、观察者模式的作用

观察者模式主要解决一对多信息通信问题,那什么叫一对多,又什么是通信问题,由于是站在被观察者的角度,所以出现了一对多的情况,每个观察者模式下,被观察者是唯一的,而观察者可以为多个,而通信问题,就是被观察者和观察者之间的联系,接下来具体了解:

三、观察者模式的具体结构

3.1 为什么需要观察者模式(观察者模式具体解决什么问题)

在编码过程中,经常会遇到,当一个数据变化时,其他数据也需要发生变化的情况,在不使用框架的情况下,原生js很难解决这个问题,举个简单的例子:

当你动态生成一些元素的时候,而这元素存放在一个数组中,随时可能添加或删减,当你将这个数组的数据渲染到页面后,这个数组发生了变化,你怎么让页面跟随数组实时更新呢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值