MVP 和 MVVM 之间的区别

Viv*_*vek 2 wpf mvp design-patterns mvvm

我读了很多关于 MVC、MVP 和 MVVM 的文章。大多数文章都以同样的方式提到 MVP 和 MVVM。但只有部分内容提到MVVM的核心部分是绑定。WPF 就是一个很好的例子。

除了绑定之外,MVP 和 MVVM 之间还有什么区别吗?

Tse*_*eng 6

在 MVP 中,Presenter 可以引用/访问 View,即您可以直接绑定到 Click 事件或从 Presenter 调用控件的方法。在 MVVM 中这是不允许的,因为这会破坏它。

这意味着,MVP 中的 Presenter 与视图绑定在一起,不能在不同视图之间(MVVM,VM 和视图之间通常是 1:1 的引用)或不同应用程序(WinPhone、Desktop、Xamarin、Silverlight 版本)之间重用。 Presenter 负责读取和更新 View(当值更改时)。在 MVVM 中,视图(通过绑定)执行此同步,VM 仅在值更改时“通知”视图