【问题标题】:Why to move to Asp.NET MVC - why not to move为什么要迁移到 Asp.NET MVC - 为什么不迁移
【发布时间】:2009-07-10 09:08:21
【问题描述】:

很简单: 为什么要迁移到 Asp.NET MVC 以及为什么不迁移(如果有任何原因)?

已添加

搬家有必要吗? 我们可以说未来属于 asp.net mvc 吗? 您认为它可以保持领先地位多少年?

【问题讨论】:

标签: asp.net-mvc


【解决方案1】:

MVC 构造得更好,允许更好的代码分离和对标记的控制,并且在服务器上更轻,恕我直言,唯一不移动的原因是如果你有一个遗留的 .NET 应用程序(或其他)这是完美的工作,你不会在不久的将来对其进行严重的调整/修复。

如果您决定迁移,您应该知道您将能够重复使用非常少的 Web 表单 GUI 和用户控件,因为 MVS 的构建方式略有不同。如果编写得好,您可以重用类库。无论如何,用 MVC 写东西比用 WebForms 快得多,即使是从头开始。

【讨论】:

  • 我们能否在 MVC 上使用我们为 Forms 平台制作的控件,或者将它们移至 MVC 有多难?
  • 不直接在 MVC 中,因为 MVC 中的 ASCX 用于 Partials。 MVC 和 WebForms 是完全不同且不兼容的框架,因此 WebForms 用户控件无法按原样与 MVC 一起使用(例如,UC 依赖于 ViewState 和页面生命周期,而 MVC 根本没有它)。将 WebForms ASCX 移植到与 MVC 兼容的 Views/Partials 确实取决于您的代码、关注点分离级别和流程。您可能想要检查第三个选项 - 在您的项目中结合 MVC 和 WF - 请参阅springerlink.com/content/p135205160712rm6
  • 另外,您可能需要在对您的问题的评论中查看 Matthew Flaschen 链接到的 SO 问题。
【解决方案2】:

目前也在考虑移动。

对我来说主要的好处是完全控制布局。我也在考虑实现一个restful API,MVC模型可以很好地使用它,因为路径结构。

乔什

【讨论】:

  • 乔希,你搬家了吗?您的体验如何?
【解决方案3】:

如果我们迁移到 MVC,我们可以很容易地添加或编辑任何模块。 所以我们可以像插件一样添加任何新模块

【讨论】:

    【解决方案4】:

    我完全不同意接受的答案。我已经在 WebForms 和 MVC 中构建了大型应用程序,这是我的看法:

    ASP.Net Web Forms 和 ASP.Net MVC 都是很好的框架,允许 C#/VB Net 开发人员构建企业级应用程序。选择哪一个用于您的应用程序取决于几个因素。 MVC 模型已经存在很多年了,如果您需要对页面循环过程进行更精细的控制,它非常适合,并且在单元测试等方面也很出色,因为它支持真正的业务逻辑和表示分离层。

    但是,不要忽视 Web 表单,现实情况是您可以继续使用 Web 表单框架,并且仍然可以严格控制您的页面元素,只需摆脱预先构建的服务器控件并集成 HTML5 标准控件即可。您可以利用 jQuery 等新的 JavaScript 框架,可以通过使用 URL Re-Write 等技术提高搜索引擎的友好性,还可以通过利用 jQuery AJAX 和 SignalR 等异步框架来减少或消除回发。

    我不同意接受的答案的主要原因是“在 MVC 中编写东西比在 WebForms 中快得多”的说法是完全不准确的。任何实际构建过 MVC 应用程序的开发人员都会告诉您,构建 WebForms 应用程序实际上要快得多。原因不仅在于学习曲线,而且事实上,虽然 MVC 为您提供了对页面周期的“幕后”访问和更直接地访问 HTML 输出的好处,但这也是构建 MVC 应用程序需要更长的时间的原因.相信我,您会发现自己做的“管道”工作比“拖放”WebForms 开发做的要多。

    事实上,当 ASP.Net MVC 刚问世时,有很多炒作,太多的开发人员认为它是 Web 表单的替代品。它没有。正如我在开头所说的那样,这两个框架都很棒,它们都有其优点和缺点。我猜 90% 的开发人员仍在使用 WebForms 构建新应用。

    那是我的 2c。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 2015-10-25
      • 1970-01-01
      • 2015-08-04
      • 2010-12-03
      • 2021-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多