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

标签 asp.net asp.net-mvc mvp

我本周末正在阅读有关 ASP.net MVP 模式的信息,如果以 MVP 模式执行,即使是最简单的任务也似乎需要付出太多的努力,返回似乎是在更大的项目中,但我想如果我是将跟随MVP。为什么不在 ASP.net MVC 中做项目?

我正在研究 MVP 模式的原因是因为我注意到在我所有的 ASP.net Webform 项目中,如果我在网络上有很多服务器控制,那么背后的代码中有很多代码只是用于事件处理形式,所以我正在寻找减少这种情况的方法并遇到 MVP 模式。

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

最佳答案

我建议阅读以下两个链接,让您快速了解 MVP 和 MVC:

  • A great blog post by Gil Fink on the different advantages of MVP and MVC
  • A StackOverFlow question on whats the difference between MVP and MVC

  • 你应该转行吗?
    根据您告诉我的内容,我建议您使用上面文章中提到的被动 MVP 模型。
    我的主要假设是:
  • 您正在处理现有的 WebForms 应用程序代码库
  • 您需要为现有功能使用第三方 .Net 控件
  • 您正在处理现有应用程序并且没有时间重新构建它们
  • 您将来使用的任何 ASP.Net Web 应用程序,您都可以逐步应用被动 MVP 并立即获得 TDD 的好处

  • 您的 View (代码隐藏 + aspx)本质上变得愚蠢,只执行简单的任务:
  • 获取主持人提供的信息
  • 响应事件并将信息返回给演示者

  • 我已经将此模型广泛用于 Web 窗体开发,我无法想象无法对我的模型和演示器代码进行单元测试。一旦您建立了不需要很长时间的基本模型并看到了单元测试的强大功能,使用 Web 表单就会变得愉快。

    我使用的模型基于 MVP 的一些链接:
  • Easy Example of MVP model
  • Simple MVP model for ASP.Net
  • An MVP and MVC example for ASP.Net

  • 我还建议您学习 MVC。
    在时间允许的情况下,将现有的 App 移植到 MVC。这样,您唯一的重点就是了解 MVC,并且当您将逻辑转移到 MVC 模式中时,您会发现您在 WebForms 中实现的东西,并且从未考虑过,但现在需要以另一种方式解决。比较模式并查看适合您的方法的好方法。

    希望这会有所帮助,请随时提出任何问题。

    关于asp.net - ASP.net Model View Presenter 值得花时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/818581/

    相关文章:

    c# - 如何使@Html.DropDownList() 允许空值

    asp.net - 在 css 文件的末尾指定 .aspx?

    asp.net - 用 HTML5 替换桌面 WPF 应用程序

    c# - 访问嵌套母版页代码中的顶级母版页属性

    asp.net-mvc - C# ASP.NET MVC : Find out whether GET or POST was invoked on controller action

    javascript - dropzone 多个区域的相同形式

    .net - 防止 Amazon S3 上不必要的 'If-Modified-Since' 请求和 304 响应

    c# - 应如何为 MVP WinForms 应用程序的主要演示者调用 Application.Run()?

    android - 使用 MVP 架构在运行时检查权限的最佳方法是什么?

    java - 实现MVP的最佳方法