Often, during your day-to-day dealings with developing applications in C#, you will have to use asynchronous programming. You might also have to deal with many data sources. Think of a web service that returns the current exchange rates, a Twitter search returning a stream of related data, or even different events generated by multiple computers. Rx provides an elegant solution in the form of the IObserver<T> interface.
You use the IObserver<T> interface to subscribe to the events. Then, the IObservable<T> interface, which maintains a list of IObserver<T> interfaces, will notify them of the change of state. In essence, Rx will stick together multiple data sources (social media, RSS feeds, UI events, and so on) that generate data. Rx, therefore, brings these data sources together in one interface. In fact, Rx can be thought of as consisting of three sections:
- Observables: The...