典型的场景: 用户注册后,需要发送短信,发送测试经费,发送优惠券...可以通过此模式实现解耦 几种不同的实现方式:同步阻塞、异步非阻塞、进程内、跨进程的实现方式
- 同步阻塞: 实现代码的解耦
- 异步非阻塞: 实现代码解耦,提高代码执行效率
- 跨进程: 进程间的观察者模式,解耦更彻底,使观察者和被观察者没有感知,一般是使用消息队列来实现,实现不同进程之前的观察者和被观察者的交互
本示例 使用了2种方式实现观察者模式
- eventbus 使用Google Guava EventBus 一个比较著名的 EventBus 框架
- observer 使用观察者模式的骨架代码实现