diff --git a/DotNet/C#/Reactive Extensions.md b/DotNet/C#/Reactive Extensions.md index 75ee3b8..f86eadd 100644 --- a/DotNet/C#/Reactive Extensions.md +++ b/DotNet/C#/Reactive Extensions.md @@ -1,6 +1,6 @@ # Reactive Extensions (Rx) -The **Reactive Extensions** for .NET, or **Rx**, are designed for working with asynchro‐nous and event-based sources of information. +The **Reactive Extensions** for .NET, or **Rx**, are designed for working with asynchronous and event-based sources of information. Rx provides services that help orchestrate and synchronize the way code reacts to data from these kinds of sources. Rx’s fundamental abstraction, `IObservable`, represents a sequence of items, and its operators are defined as extension methods for this interface. @@ -14,8 +14,8 @@ Because Rx implements standard LINQ operators, it's possible to write queries ag ## Foundamental Interfaces -The two most important types in Rx are the `IObservable` and `IObserver` interfaces. They are important enough to be in the System namespace. -The other parts of Rx are in the `System.Reactive` NuGet package. +The two most important types in Rx are the `IObservable` and `IObserver` interfaces. +They are important enough to be in the System namespace. The other parts of Rx are in the `System.Reactive` NuGet package. ```cs public interface IObservable @@ -31,7 +31,8 @@ public interface IObserver } ``` -The fundamental abstraction in Rx, `IObservable`, is implemented by *event sources*. Instead of using the `event` keyword, it models events as a *sequence of items*. An `IObservable` provides items to subscribers as and when it’s ready to. +The fundamental abstraction in Rx, `IObservable`, is implemented by *event sources*. Instead of using the `event` keyword, it models events as a *sequence of items*. +An `IObservable` provides items to subscribers as and when it’s ready to do so. It's possible to subscribe to a source by passing an implementation of `IObserver` to the `Subscribe` method. The source will invoke `OnNext` when it wants to report events, and it can call `OnCompleted` to indicate that there will be no further activity.