IObserver<T> 接口是.Net中定义的一个接口,它是一个绝好的实现观察者模式的工具。
任何观察者模式,都需要定义好观察什么,也就是IObserver<T> 接口中的T。
1、定义T
2、实现被观察者,接口 IObservable
在这里,它需要定义好一个List,用来存储都有哪些观察者注册过来。
并在创建、更新、销毁T的时候,通过轮询的方式,向每个观察者发送信息
3、定义观察者,接口IObserver
对于观察者来说,主要做好如下两件事:
A、向被观察者申请注册,通常Subscribe方法
B、实现OnNext方法,当接收到信息后,如何处理
4、启动
可以通过单例模式,创建被观察者
在每个观察者被创建时,向被观察者实例进行注册
这样就可以完整的应用观察者模式了。
具体代码可参考微软官方实现案例。