MVVM on Rx
Now, let's convert the preceding example to see how we can apply this for a classic MVVM implementation.
Note
MVVM is an important application development framework that has its roots with Windows Presentation Framework (WPF). It is best suited for event-driven programming where you achieve clear Separation of Concerns, thereby facilitating parallel development (Model, View, and View Model) and testability.
As you observe (no pun intended) in the preceding solution model, the TextChanged
event of the text box, where the word to be looked up is entered, will indicate to the ISubject<T>
type here, one that implements both IObservable<T>
and IObserver<T>
interfaces, thereby enabling you to conveniently observe and publish items to subscribers.
Ensure that you have the appropriate dependencies/packages installed via the NuGet package manager and referenced properly. The ones under consideration here include the following:
System.Reactive.Core
System.Reactive...