【问题标题】:ASP.NET MVP as a symbiosis of ASP.NET Webforms and ASP.NET MVCASP.NET MVP 作为 ASP.NET Webforms 和 ASP.NET MVC 的共生体
【发布时间】:2011-03-14 08:27:48
【问题描述】:

我已经使用 ASP.NET Webforms 开发 Web 应用程序已有几年了,我仍然喜欢它,首先是因为它提供的 RAD 可能性。两年以来,ASP.NET MVC 现已成为经典 ASP.NET 的直接竞争对手。不知何故,我不想放弃我所有的 Webforms 经验并转向 ASP.NET MVC。一个原因是,我也处理桌面应用程序开发,而 ASP.NET Webforms 与它更相似。

现在我发现还有第三种 ASP.NET 开发方法:ASP.NET MVPhttp://webformsmvp.com/

有人已经体验过这第三种类型的 ASP.NET 了吗?

这分别是微软官方的做法,微软支持吗?

值得更详细地看一下吗?

它是 ASP.NET 两个“世界”的有前途的组合吗?

【问题讨论】:

    标签: asp.net asp.net-mvc webforms mvp


    【解决方案1】:

    这显然是一种主观意见,取决于您要解决的特定问题。

    如果您有一个简单的应用程序,不需要大量的持续维护,并且在快速展示结果很重要的地方,我认为使用 MVP 正是因为您提到的原因 - 利用团队技能和辐射度。

    对于更复杂的事情,我认为这不是一个好主意。正如您所提到的,MVP 类似于桌面 GUI 模型。 ASP.NET MVC 专为 Web 的请求-响应特性而设计。视图架构,特别是引入了 EditorFor 和 DisplayFor,经过优化,可用作从模型中提取数据的模板。

    从可测试性的角度来看,MVC 在允许您对小型组件进行单元测试方面做得非常好。我认为你会失去很多使用 MVP 的好处,因为视图和演示者的耦合更加紧密。本质上,MVC 采用了“Humble Dialog”模式的概念,该模式旨在最大限度地减少 UI 代码,因为它本质上是不可测试的。 (ASP.NET) MVC 还包含 Web,生成干净的 HTML,设计为 css 样式并使用 javascript (jquery) 增强。我认为 MVP 鼓励您将视图视为“小部件”的画布,这似乎总是最终会产生您必须与之抗争的标记。

    最后,我认为,每当您使用旨在支持一种方法 (MVC) 并稍微改变它 (MVP) 的平台时,您最终都会逆流而上。您无法利用围绕主流方法自然建立的建议、文章和技术开发。例如,我个人宁愿使用带有 MVC 的替代视图引擎来代替 WebForms 引擎。但我没有采取行动,因为它是非标准的。有时“标准”会更好。

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-18
      • 2011-04-22
      相关资源
      最近更新 更多