观察者模式和发布/订阅模式的区别

在处理自定义事件时,观察者模式和发布/订阅模式经常使用,起初不了解这两个模式的实现时,在网上看一些资料,很多介绍都将两种模式混淆在一起,认为他们是同一个模式、一样的实现。后来看了一些设计模式的书籍,感觉两种模式还是有本质的区别,具体如下:

  1. 观察者模式至少需要维护两个对象
    顾名思义:有观察者对象,肯定也得有观察者需要关注的目标对象,在观察者模式实习的时候,观察者对象需要定义一个统一的接口,在目标对象发生某些改变时,调用(触发)观察者的对应的方法,通知观察者到底发生了那些变化。

    而发布订阅模式,只需要注册订阅器上的一个事,而订阅器发生某些事件,则会触发事件通道里面的函数,触发器并不会关心其他任何对象和任何接口

  2. 在实现自定义事件方面我觉得使用发布/订阅模式更为合适,简单、耦合性比较低。使用发布订阅模式时,我们关注那个对象,只需要在这个注册这个对象的对应的事件即可,降低了订阅者和发布者直接的耦合

 

转载于:https://www.cnblogs.com/yunfour/p/3837915.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值