0. 观察者模式
![](https://i-blog.csdnimg.cn/blog_migrate/04b9b8894e74fd9ecefb8f8fc292cf45.png)
- 观察者与被观察的目标:
- 观察者:
- update()
- 被观察的目标:
- observers_list
- notify()
- 观察者:
- 目标中维护一个观察者列表(observers_list),所谓注册到目标,便是将某一个观察者添加进目标的观察者列表中;
- 目标中还需要一个 notify 的接口,该接口遍历观察者列表中注册进来的观察者,调用各自的 update 方法;
1. 发布订阅
- publish-subscribe,也会简写为 pub-sub
- 消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者)。而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话)可能存在。同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需了解哪些发布者(如果有多个的话)存在。
![](https://i-blog.csdnimg.cn/blog_migrate/cb64ff494c11424db049602027ef6eaf.png)