MVC优于MVP的好处

时间:2009-07-30 16:48:30

标签: asp.net-mvc mvp

  

可能重复:
  What are MVP and MVC and what is the difference?
  mvc and mvp pattern

民间,

使用MVC而不是MVP有哪些好处?我喜欢我不必使用MVP框架,可以通过接口和类实现。我仍然将MVC所关注的问题分开,并进行单元测试。使用MVC而不是MVP有什么好处?

3 个答案:

答案 0 :(得分:5)

我甚至都不知道“MVP”,但haack [overflow]有一篇相当不错的文章......

Everything You Wanted To Know About MVC and MVP But Were Afraid To Ask

冒着Haack阻止交叉链接图像的风险...... Haack说差异很明显:) alt text http://haacked.com/images/haacked_com/WindowsLiveWriter/MVCandMVPPatternResources_71CE/WinMerge%20-%20%5BMVP.txt%20-%20mvc.txt%5D_3.png

答案 1 :(得分:1)

由于我对重复的评论进行了详细审查,因此我只会参考这些问题并将其留给“更高权力”,以便在他们认为合适时关闭:P
What are MVP and MVC and what is the difference?

答案 2 :(得分:0)

人们在首字母上太过挂了,有时会TLA

如果Phil Haack在他的文章中说的是真的,我认为我在ASP.NET MVC中使用MVC,但我真正使用的是MVP(或MVC的调整形式)。

  

使用MVC,它始终是控制器的   有责任处理鼠标和   键盘事件。使用MVP,GUI   组件本身最初处理   用户的输入,但委托给   对该输入的解释   主持人。

但这不是ASP.NET MVC的真正意义所在。

如果我处理鼠标和键盘事件,我喜欢在浏览器中使用jQuery。 将用户交互与控制器分开,并在UI层和“业务”层之间提供更好的解耦。

如果我需要使用AJAX调用或JSON调用更新我的页面的一部分,无论如何我仍然需要这样做,无论我称之为MVC还是MVP。

  

ASP.NET WebForms,例如,   试图模仿富客户端   通过使用的发展范式   ViewState中。这就是许多尝试的原因   将模式应用于ASP.NET重点关注   MVP模式因为MVP   模式更适合富人   带GUI的客户端应用程序   组件。

     

然而,许多网络平台都拥抱   网络的无国籍性质   放弃试图模拟一个   全州富客户发展   环境。在这样的系统中,a   调整MVC模式更多   适用。

很明显,Phil认为(一种经过调整的形式)MVC可以转移到更无状态,更薄的客户端,而MVP则在UI层上承担更多责任,以提供丰富的用户体验。

这是否是好事是主观的。如果ASP.NET是MVP而ASP.NET MVC是MVC,我很乐意接受MVC首字母放弃像viewstate和obtuse逻辑这样的东西。