观察者模式和订阅模式区别
两者核心几乎一样,主要区别在于“有没有中间人”:
观察者模式:目标(被观察者)直接通知观察者。就像你关注了一个博主,博主一发文,系统直接推送给所有粉丝。
发布-订阅模式:目标和观察者不直接联系,中间通过一个“调度中心”。就像你订阅了报纸,报社把报纸发给邮局(调度中心),邮局再送到你手上。报社不知道你是谁,你也不知道报纸从哪里来。
一句话总结:
观察者模式是目标直接通知观察者(耦合较紧)。
发布-订阅模式是借助第三方中转,双方互相不知道对方(完全解耦)。
两者核心几乎一样,主要区别在于“有没有中间人”:
观察者模式:目标(被观察者)直接通知观察者。就像你关注了一个博主,博主一发文,系统直接推送给所有粉丝。
发布-订阅模式:目标和观察者不直接联系,中间通过一个“调度中心”。就像你订阅了报纸,报社把报纸发给邮局(调度中心),邮局再送到你手上。报社不知道你是谁,你也不知道报纸从哪里来。
一句话总结:
观察者模式是目标直接通知观察者(耦合较紧)。
发布-订阅模式是借助第三方中转,双方互相不知道对方(完全解耦)。