观察者模式和发布订阅模式的区别是什么? 观察者模式和发布订阅模式最大的区别就是发布订阅模式有个事件调度中心。 观察者模式中,观察者和目标直接进行交互,观察者由具体目标调度,每个被订阅的目标里面都需要有对观察者的处理。 而发布订阅模式中同一由调度中心进行处理,订阅者和发布者互不干扰。这样一方面实现了解耦,还有就是可以实现更细粒度的一些控制。 比如发布者发布了很多消息,但是不想所有订阅者都接收到,就可以在调度中心做一些处理,类似于权限控制之类的。还可以做一些节流操作。