关于asp.net mvc:MVC优于MVP的好处

Benefits of MVC over MVP

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicates:
What are MVP and MVC and what is the difference?
mvc and mvp pattern

各位,

在MVP上使用MVC有哪些好处?我喜欢这样,我不必使用MVP框架,可以通过接口和类实现。我仍然得到了MVC所关心的问题的分离,我得到了单元测试。与MVP相比,使用MVC有哪些好处?


我甚至不知道"MVP",但哈克[溢出]有一篇很好看的文章…

你想知道的关于MVC和MVP的一切,但又不敢问

冒着haack屏蔽交叉链接图像的风险……haack说区别很明显:)alt text http://haacked.com/images/haacked_com/windowslivewriter/mvcndmvppatternresources_71ce/winmerge%20-%20%5bmvp.txt%20-%20mvc.txt%5d_3.png


由于我已经被我对复制品的评论所审查,我将把这个问题作为参考,如果他们认为合适的话,就交给"更高的权力"关闭:p什么是MVP和MVC,有什么区别?


人们有时会对首字母和TLA的字母太感兴趣。

如果菲尔·哈克在他的文章中所说的是真的,我以为我在ASP.NET MVC中使用了MVC,但是我真正使用的是MVP(或者一种经过调整的MVC形式)。

With MVC, it’s always the controller’s
responsibility to handle mouse and
keyboard events. With MVP, GUI
components themselves initially handle
the user’s input, but delegate to the
interpretation of that input to the
presenter.

但这并不是ASP.NET MVC真正要做的。

如果我处理鼠标和键盘事件,我喜欢用jquery在浏览器中处理。这将用户交互与控制器分离,并提供更好的UI层和"业务"层之间的分离。

如果我需要使用Ajax调用或JSON调用来更新我的页面的一部分,我仍然需要这样做,不管我叫它MVC还是MVP。

ASP.NET WebForms, for example,
attempts to emulate the rich client
development paradigm via the use of
ViewState. This is why many attempts
to apply patterns to ASP.NET focus on
the MVP pattern because the MVP
pattern is more appropriate for a rich
client application with GUI
components.

However, many web platforms embrace
the stateless nature of the web and
forego attempting to simulate a
state-full rich client development
environment. In such systems, a
tweaked MVC pattern is more
applicable.

很明显,Phil将MVC(一种经过调整的形式)视为向更无状态、更瘦的客户机的转移,而MVP则将更多的责任放在UI层上,以提供丰富的用户体验。

这是好事还是坏事是主观的。如果ASP.NET是MVP,而ASP.NET MVC是MVC,我会欣然接受MVC的缩写,放弃VIEWSTATE和钝角逻辑之类的东西。