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

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

一、从表面上看:
观察者模式里,只有两个角色 —— 观察者 + 被观察者
观察者模式和发布订阅模式区别

而发布订阅模式里,却不仅仅只有发布者和订阅者两个角色,还有一个经常被我们忽略的 —— 经纪人Broker
观察者模式和发布订阅模式区别

二、往更深层次讲:
观察者和被观察者,是松耦合的关系
发布者和订阅者,则完全不存在耦合

三、从使用层面上讲:
观察者模式,多用于单个应用内部
发布订阅模式,则更多的是一种跨应用的模式(cross-application pattern),比如我们常用的消息中间件