ASP.net Model View Presenter值得花时间吗?

Jac*_*ack 17 asp.net mvp asp.net-mvc

我正在阅读本周末的ASP.net MVP模式,看起来即使是最简单的任务也需要花费太多精力,如果在MVP模式中付出似乎是在更大的项目,但我想我是不是要跟随MVP.为什么不在ASP.net MVC中执行该项目?

我正在考虑MVP模式的原因是因为我已经注意到在我的所有ASP.net Webform项目中,如果我在Web上有很多服务器控件,那么代码背后会有大量代码用于事件处理形式所以我正在寻找减少这种情况的方法并遇到MVP模式.

是否值得努力遵循MVP模式或只是切换到ASP.net MVC?

Ral*_*oss 20

我建议您阅读以下两个链接,以加快MVP和MVC的速度:

你应该切换吗?
基于你告诉我的内容,我建议你使用上面文章中提到的Passive MVP模型.

我的主要假设是:

  1. 您处理WebForms应用程序的现有代码库
  2. 您需要使用ThirdParty .Net控件来实现现有功能
  3. 您在现有应用程序上工作,没有时间重新构建它们
  4. 您将来使用的任何ASP.Net Web Apps,您可以逐步应用被动MVP并立即获得TDD的好处

您的View(codebehind + aspx)基本上变得愚蠢,只执行简单的任务:

  • 获取演示者提供的信息
  • 响应事件并将信息提供给演示者

我已广泛使用此模型进行Web窗体开发,我无法想象无法单元测试我的模型和Presenter代码.一旦建立了不需要很长时间并且看到单元测试能力的基础模型,使用Web表单就变得令人愉快了.

我使用的模型的MVP内容的一些链接基于:

我还建议你学习MVC.
如果时间允许,请使用现有应用程序并将其移植到MVC.这样你唯一的关注点就是了解MVC,当你将逻辑转移到MVC模式时,你会发现你在WebForms中实现的东西并且从未考虑过,但现在需要以另一种方式解决.比较模式的好方法,看看哪些适合你.

希望这有帮助,随时提出任何问题.


J.W*_*.W. 16

如果你开始一个新项目,那么ASP.net MVC是一个更好的选择.但是,如果你只是想像你刚才所说的那样重构一个现有的项目,那么MVP是可选的,因为没有简单的方法将这些web表单代码转换为MVC.

  • @ Jack0fshad0ws"单元测试是MVC的唯一好处,而不是它的好处"应该先把它放在第一位,这样我才能在那里停止阅读. (3认同)