我在使用WinForm时使用MVP架构,但当我开始使用WPF或Silverlight时,我转向了MVVM架构。
我注意到的唯一变化是,在MVVM模式下,由于强大的绑定功能,我们不需要手动同步视图和ViewModel之间的数据。
我的问题是:
1)使用MVVM的唯一优势是绑定(帮助我们不需要手动同步视图和ViewModel吗)?
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");
}