Using Reactive Extensions
Reactive Extensions (written as Rx) are a generalized implementation of reactive programming that can be used to model event and data streams. Rx can be thought of as an object-oriented approach to reactive programming, in the sense that an event stream is an object with certain methods and properties. In Rx, asynchronous event streams are termed as observables. An entity or object that subscribes to events from an observable is called an observer. Reactive extensions are essentially a library of functions, or methods, to manipulate observables and create objects that conform to the observer-observable pattern. For example, an observable can be transformed using the Rx variants of the map
and filter
functions, as shown in the following illustration:
As shown previously, an observable can be described as a collection of values that vary over a period of time. It's quite evident that observables can be treated as a sequence of values using the Rx-flavored variants...