如果我们使用短语“MVC、MVP 和 MVVM 设计模式之间的差异”搜索 Google,那么我们可能会得到一些讨论的 URLMVC MVP 和 MVVM 设计模式的区别理论上就像:
MVP
在无法通过“dataContext”进行绑定的情况下使用。
Windows 窗体就是一个完美的例子。为了将视图与模型分离,需要一个演示器。由于视图无法直接绑定到呈现器,因此必须通过接口(IView)将信息传递给视图。
MVVM
在可以通过“dataContext”进行绑定的情况下使用。为什么?每个视图的各种 IView 接口都被删除,这意味着需要维护的代码更少。
MVVM 可以使用 Knockout 包含 WPF 和 javascript 项目的一些示例。
MVC
在视图和程序其余部分之间的连接并不总是可用的情况下使用(并且您无法有效地使用 MVVM 或 MVP)。
这清楚地描述了 Web API 与发送到客户端浏览器的数据分离的情况。 Microsoft 的 ASP.NET MVC 是管理此类情况的绝佳工具,并提供了非常清晰的 MVC 框架
但我还没有找到一篇文章从理论上讨论了这种差异以及示例代码。
如果我能找到一篇讨论这 3 种设计模式(MVC、MVP 和 MVVM)之间差异以及代码的文章,那就太好了。
我想获得 3 个类似的源代码CRUD通过这三种设计模式(MVC、MVP 和 MVVM)实现的应用程序。这样我就可以浏览代码并了解如何为这三种设计模式(MVC、MVP 和 MVVM)编写代码。
因此,如果存在任何此类文章讨论这 3 种设计模式(MVC、MVP 和 MVVM)的代码看起来有何不同,那么请将我重定向到该文章。
一些基本的区别可以简写为:
MVC:
传统的MVC是有一个
- 模型:充当数据的模型
- View :处理用户的视图,可以是 UI
- Controller:控制Model和View之间的交互,其中View调用Controller来更新Model。如果需要,视图可以调用多个控制器。
MVP:
与传统的MVC类似,但Controller被Presenter取代。但与 Controller 不同,Presenter 也负责更改视图。视图通常不会调用演示者。
MVVM
这里的区别是视图模型的存在。它是观察者设计模式的一种实现,其中模型中的更改也由虚拟机在视图中表示。
例如:如果更改滑块,不仅模型会更新,而且视图中显示的可能是文本的数据也会更新。这样就有了双向数据绑定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)