js之设计模式

本文探讨了观察者模式和发布订阅模式的工作原理及其差异。观察者模式中,观察者直接与目标交互,耦合度较高。而发布订阅模式引入调度中心,实现了发布者和订阅者的解耦,提供了更细粒度的控制,如权限管理和节流操作。此外,观察者模式通常为同步,发布订阅模式多为异步。
摘要由CSDN通过智能技术生成

观察者模式和发布订阅模式二者工作原理&区别


什么是耦合 ?

耦合
模块与模块之间很多是存在关联的,如果改动一个,
其他若干模块都会发生改变,模块之间的关系越是紧密,
独立性就越不好。(这种关系,我们称作: 耦合度)

//  耦合性也称块间联系
耦合指的是两个类之间的联系的紧密程度;

强耦合:类之间存在着直接关系

弱耦合:在两个类的中间加入一层,将原来的直接关系变成间接关系,
	   使得两个类对中间层是强耦合,两类之间变为弱耦合
	   
	 *模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息*

内聚: 模块内部的代码,相互之间的联系越强,内聚就越高


	内聚是从功能角度来度量模块内的联系,
	一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系
 *模块内部的代码,相互之间的联系越强,内聚就越高*	
	 

在这里插入图片描述
从图中可以看出,
观察者模式中: 观察者和目标直接进行交互
发布订阅模式中: 统一由调度中心进行处理,
订阅者和发布者互不干扰

什么是设计模式?
设计模式(Design pattern) 是解决软件开发某些特定问题而提出的一些解决方案也可以理解成解决问题的一些思路。通过设计模式可以帮助我们增强代码的可重用性、可扩充性、 可维护性、灵活性好。我们使用设计模式最终的目的是实现代码的 高内聚 和 低耦合。

二者工作原理&区别
观察者模式
如同实验进行的过程一般,观察者和被观察者(目标)是紧耦合的,如果目标一旦触发了事件,观察者就会立刻作出响应的举措。

发布订阅模式
发布者和订阅者二者之间存在一个中介,有点类似于你去app订阅喜欢的漫画一样,当漫画大大赶工出了新的一话并发布在了app上,app就会通知你:快来看漫画啦!


漫画大大和小贾之间是没有互动的,即发布者和订阅者之间是松耦合的。
区别
发布订阅模式比观察者模式多了一个调度中心;这个调度中心实现了解耦,
且可以实现更细粒度的一些控制。(进行权限控制和节流操作)

发布订阅模式比观察者模式多了一个调度中心;这个调度中心实现了解耦,且可以实现更细粒度的一些控制。(进行权限控制和节流操作)

观察者模式大多数时候是同步的,而发布-订阅模式大多数时候是异步的(使用消息队列)
链接: 借鉴于.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值