In .NET, the
IObservable interface was introduced in the .NET 4.0 framework edition; basically, it is a generalized mechanism for push-based notifications, also known as the observer design pattern. The
IObservable<'T> interface represents the class that sends notifications (provider) and the
IObserver<'T> interface represents the class that receives from them (the observer). The provider must implement a single method,
Subscribe, which indicates that an observer wants to receive push-based notifications. This method returns an
IDisposable interface object that can be used to cancel observers any time before the provider has stopped sending them.
Observables are very similar to our F# first-class events, with the inheritance chain of ...