IObserver和IObservable 接口实现观察者模式

IObserver<T> 接口是.Net中定义的一个接口,它是一个绝好的实现观察者模式的工具。

任何观察者模式,都需要定义好观察什么,也就是IObserver<T> 接口中的T。

1、定义T

2、实现被观察者,接口 IObservable

在这里,它需要定义好一个List,用来存储都有哪些观察者注册过来。

并在创建、更新、销毁T的时候,通过轮询的方式,向每个观察者发送信息

3、定义观察者,接口IObserver

对于观察者来说,主要做好如下两件事:

A、向被观察者申请注册,通常Subscribe方法

B、实现OnNext方法,当接收到信息后,如何处理

4、启动

可以通过单例模式,创建被观察者

在每个观察者被创建时,向被观察者实例进行注册

这样就可以完整的应用观察者模式了。

具体代码可参考微软官方实现案例。