2015-08-26 88 views
0

我讀了很多關於MVC,MVP和MVVM的文章。大多數文章都以同樣的方式提到了MVP和MVVM。但只有在某些情況下才提到MVVM的核心部分是綁定的。 WPF就是一個很好的例子。MVP和MVVM之間的區別

除了綁定之外,MVP和MVVM之間是否有區別?

+4

在[MVC/MVP/MVVM What's Heck?]沒有答案(http://stackoverflow.com/questions/1298428/mvc-mvp-mvvm-what-the-heck?rq = 1)或[MVC,MVP和MVVM之間有什麼區別?](http://stackoverflow.com/questions/11877575/what-are-the-differences-between-mvc-mvp-and-mvvm?rq= 1)(或在「相關」下的右側的任何其他主題...) – crashmstr

回答

1

在MVP中,演示者具有對視圖的引用/訪問權限,即您可以直接綁定到Click事件或從演示者調用控件的方法。在MVVM中,這是不允許的,因爲這會打破它。這意味着,MVP中的Presenter與視圖綁定並且不能在不同的視圖(MVVM,VM和View之間通常是1:1的引用)之間或不同的應用程序(WinPhone,Desktop,Xamarin, Silverlight版本),並且演示者負責讀取和更新視圖(當值發生更改時)。在MVVM中,視圖(通過綁定)執行此同步,虛擬機僅在值發生更改時「通知」視圖