Component model, View, ViewModel
View:ui interface
ViewModel: It is the abstraction of view, which is responsible for the information transformation between view and model, and transmits the command of view to model;
Model: Data Access Layer
View and Viewmodule connections can be done in the following way
Binding data: Implementing the transfer
Command: Call to implement operation
Attachbehavior: Implementing actions during control loading
View does not have a lot of code logic. In conjunction with the WPF, Silverlight binding mechanism, MVP evolved MVVM, leveraging the benefits of WPF, Silverlight, and transferring a large amount of code logic and state to ViewModel, which can be said that MVVM was built specifically for WPF and Silverlight.
View is bound to ViewModel and then executes some commands to request an action from it. In turn, ViewModel communicates with the model, telling it to update to respond to the UI. This makes it very easy to build the UI for your app. The easier it is to paste an interface into an application, the easier it is for the designer to use blend to create a nice interface. At the same time, as the UI and functionality become more and more loosely coupled, the testability of functionality becomes stronger.
MVVM: Model-View-view model (Model-view-viewmodel)