MVVM???

Recently, i heard one of my colleagues enquire about MVVM model. MVVM stands for Model-View-ViewModel in WPF framework (also called as Onyx).

Onyx is a framework that aids in the development of WPF applications that follow the Model-View-ViewModel pattern. The biggest reason for following this pattern is to allow you to unit test as much of your presentation logic as possible, without having to resort to fragile and difficult UI automation. What this generally means is that as much of the code as possible should be moved out of the View and it’s codebehind, and into the ViewModel. Unfortunately, it can often be very difficult to move logic into the ViewModel while not creating a tight coupling to the specific View, or to any UI framework code, which would cause unit testing to become much more difficult. Onyx uses a novel approach based on IServiceProvider which allows the ViewModel to interact with the View in an entirely decoupled and testable manner.