当我使用WinForm时,我正在使用MVP.但是当我开始使用WPF或Silverlight时,我转向了MVVM.
我注意到的唯一事情是,由于强大的绑定,我们不需要在MVVM模式中同步View和ViewModel之间的数据.
我的问题是:
1)绑定(这有助于我们不手动同步View和ViewModel)使用MVVM的唯一优势是什么?
2)MVVM相对于MVP还有其他优势吗?有什么区别?
3)下面的代码是MVVP模式还是MVVM或两者兼而有之?
interface IView {
void ShowMessage(string message);
}
class View : IView {
public void ShowMessage(string message){
MessageBox.Show(this, message);
}
}
class ViewModel{
private IView view;
public ViewModel(IVew view){
this.view = view;
}
........
view.ShowMessage("This is a msg");
}
Run Code Online (Sandbox Code Playgroud)