码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-07-13 01:07:58      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:blog   关系   兴趣   event   com   区别   模式   bsp   变化   

 在事件总线(EventBus)的架构设计中,用到了发布/订阅模式,但发现和观察者模式挺接近,有时容易发生混淆,现试图分清一下他们的关系。

 

        观察者模式的角色为观察者(observer)和主题(subject)对象,observer需要观察subject时,需先到subject里面进行注册(subject对象持有observer对象的集合句柄),然后,当subject对象的内部状态发生变化时,把这个变化通知所有的观察者。 

 

        发布、订阅模式的角色为发布者(publisher)和订阅者(subscriber),pub和sub之间没有直接的耦合关系,pub发布一个消息事件(event),sub订阅感兴趣的消息事件,sub也可以取消订阅。

 

        可初步得出结论:

        观察者模式中的观察者是和主题对象紧耦合的。

        发布\订阅模式中的发布者和订阅者是松耦合的,发布者和订阅者是通过事件发生联系的。

 

转:

http://geeksun.iteye.com/blog/2232298

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

标签:blog   关系   兴趣   event   com   区别   模式   bsp   变化   

原文地址:http://www.cnblogs.com/ilinuxer/p/7158060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!