模型-视图-控制器(也被称为MVC)是一种专门用于软件工程的结构性模式。这种特殊的模式被用来隔离所谓的 “领域逻辑”—这只是用户的应用程序的逻辑。它与输入和展示(被称为GUI)隔离,并允许独立开发。

Model View Presenter(也被称为MVP)是MVC的直接变体。它是一种软件模式(更具体地说,是一种用户界面设计模式),专门用来帮助自动化单元的测试,并改善所谓的表达逻辑中的关注点分离。关注点的分离基本上是一个过程,通过这个过程,一个计算机程序被分离成不同的功能,这些功能在功能上没有重叠。

MVC的模型部分本质上是一种模式,它通过特定的领域来表示数据,这些数据用于允许应用程序运行。视图部分将模型转化为适合用户的交互方式—这通常是一个用户界面元素。最后,控制器部分最贴切地接收输入。通过对模型中发现的对象进行决策,控制器充当了反应的催化剂。

MVP的模型部分定义了要在用户界面上显示(或执行)的数据。视图部分显示模型中定义的数据,并将用户提示的命令(称为事件)发送给演示者(他将对这些数据采取行动)。然后,演示者对模型和模型的视图进行操作。因此,它能够从存储库中检索数据(在模型中找到),继续数据,并对其进行格式化,以便在视图中轻松显示。

MVC有不同的变体。因此,控制的流程是按照非常严格的顺序进行的。首先,用户将与界面进行交互(例如按下鼠标上的按钮),然后控制器负责处理输入事件,并将其变为适当的用户动作。接下来,控制器将用户所做的事情通知模型,这很可能导致模型改变其状态(比如说,作为一个更新)。然后,视图向模型提出一个问题,以生成用户界面。最后,用户界面等待指令,这将重新启动这个循环。

MVC和MVP的区别

  1. MVC是一种隔离领域逻辑的架构模式;MVP是MVC的后裔,旨在帮助测试自动化单元并改善关注点的分离。
  2. MVC中模型代表数据,视图将模型转化为用户友好的交互,控制器接收输入;MVP中模型定义数据,视图显示数据,演示者对模型及其视图采取行动。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:MVC和MVP的区别
本文链接:https://www.vsdiffer.com/vs/mvc-vs-mvp.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。