编程模式:MVC vs MVP

7

我对MVC和MVP这两种编程模式有些困惑。

它们之间的主要区别是什么?我在网上搜索了一些样例,但是更加困惑了,因为在某些样例的网页中,MVP使用超过2个接口来与视图层通信(其中一些甚至只声明为空白接口),但在其他样例中,从presenter到view只需要两个接口来传输数据。哪种应用方式才是正确的呢?

另一方面,我已经在MVC上工作了一段时间,但直到现在,我才意识到也许我一直以错误的方式来应用这种模式。我的实践情况如下:

  • Model:C#类,行为类似业务对象。
  • Controller:C#类,使用模型对象填充或操作它们。
  • View:C# aspx页面展示模型对象;控制器负责在操纵并/或填充数据后将模型对象发送到此层。

希望您能解决我的疑惑。谢谢。


2
试试这个: https://dev59.com/h3VD5IYBdhLWcg3wXacd - Yaron Adler
可能是什么是MVP和MVC以及它们之间的区别?的重复问题。 - Mauricio Gracia Gutierrez
1个回答

0

MVC

视图负责呈现UI元素。控制器响应UI操作。模型处理业务行为。控制器负责显示哪个视图。整个业务逻辑层可以由模型表示。视图和模型紧密耦合。

MVP

视图负责呈现UI元素。控制器的角色被一个Presenter取代。Presenter在模型和视图之间进行操作。没有将视图绑定到视图模型的机制。因此,我们依赖于每个视图实现具有视图接口的方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接