Some time ago, I studied some of the WPF frameworks, and felt that the MVVM model based on the PRISM framework was good for separating the UI from the logic of the system, so it was a lot better than WinForm to do it in the framework of the previous WinForm design.
MVVM mode is the same as the MVC pattern, with the main purpose of separating views and models (model), with several great advantages
1. Low coupling. View can be independent of the model changes and modifications, a viewmodel can be bound to different "view", when the view changes model can be unchanged, when the model changes when the view can also be unchanged.
2. reusability. You can put some view logic in a viewmodel, so many views reuse this view logic.
3. Independent development. Developers can focus on business logic and Data Development (ViewModel), designers can focus on page design, and using Expression Blend can easily design interfaces and generate XAML code.
4. can be tested. The interface has always been more difficult to test, and now the test can be written for ViewModel.
MVVM Function Chart:
Now I've made an example of consolidating the ribbon effect that mimics Office 2010:
(1) Blue:
(2) Silver