1.定义

说白了就是类似于消息的广播和订阅。

2.两个基本接口

observer 和subject接口 主题和观察者接口 然后各自实现

3.案例

如微信公众号相当于主题, 观察者是关注这个微信公众号的人。
微信公众号功能:发布文章、观察者取消订阅、新发布的文章广播给各个观察者。
观察者的功能:更新微信公众号发布的新文章。

4.应用场景

Spring中的ApplicationListener/ApplicationEvent
JMS
MVC Framwork

5.优点

subject 和observer解耦
支持广播

参考:https://codepumpkin.com/observer-design-pattern/