【问题标题】:ASP.NET MVC vs. ASP.NET 4.0ASP.NET MVC 与 ASP.NET 4.0
【发布时间】:2009-10-21 22:41:34
【问题描述】:

我最近看了this webcast,我感觉到很多来自 ASP.NET MVC 的“酷东西”正在被拉回到 ASP.NET 框架中。

目前我正在为我公司的一个使用 ASP.NET MVC 的项目做基础工作,但看了这个之后,我开始怀疑这是否是正确的选择,以及我是否应该这样做等待 ASP.NET 4.0。

我意识到 ASP.NET MVC 2.0 即将发布。

如果 高可测试性松散耦合完全控制我们的 HTML 是首要任务,我应该选择 ASP。 NET 4.0 还是 ASP.NET MVC?

【问题讨论】:

    标签: .net asp.net asp.net-mvc .net-4.0


    【解决方案1】:

    嗯,你的问题对我来说真的没有意义。

    您是在问是否使用 ASP.Net MVC 或 ASP.Net 4.0 - 您是指 WebForms 吗?

    MVC 2.0 将与 VS 2010 一起提供,与 .Net 4.0 和 ASP.Net 4.0 一样 - ASP.Net MVC 也是 ASP.Net 的一部分。

    如果您希望使用 .Net 4.0 运行时和 ASP.Net 4.0 的所有功能 - 使用 MVC 有什么问题?

    另外,我建议现在构建到 MVC 1.0 上,并以这样的方式构建您的应用程序,以便您可以轻松迁移到并接受 MVC 2.0 中的新功能,因为您已经知道其中大部分应该如何工作'问题不大。或者,如果您的发布是在 ASP.Net MVC 2.0 发布之后发布的,则只需立即开始使用它 - 除非这会带来其他问题。

    【讨论】:

    • 同意,这比接受的解决方案要好得多。
    • 我觉得这太棒了,到目前为止,我在这里的最佳答案是告诉某人他们生活在一个理想的世界中,在那里他们可以同时获得糖果和冰淇淋:D - 真是太棒了如果一直如此,那将是美好的世界,嗯?
    • Accept 已被移动 :-) 这是一个更好的答案
    【解决方案2】:

    如果您的应用程序将在 3 月发布日期之后发布,那么这很简单。使用 ASP.Net 4.0。

    如果不是,那就不太清楚了。我现在的公司也面临同样的问题。我们是否使用.Net 4.0。对我们来说,我们的解决方案是在内部托管的,所以我们不存在在未发布的平台上发布产品的问题。我们最担心的是从 beta2 到 RTM 的变化。

    作为一名开发人员,我一直希望迁移到最新的平台。公司必须考虑其客户和迁移到新平台的风险。大多数时候谨慎比第一个跳更谨慎。

    支持并发布 ASP.MVC 1.0。这是一个很棒的网络框架。如果您不是在寻找 ASP.MVC 2 中的特定功能。那么请使用 ASP.NET MVC 1。

    【讨论】:

    • 我想这很简单。而且由于架构是松散耦合且经过深思熟虑的,因此切换 UI 不会是最麻烦的一些工作。
    • 即使在 4.0 中改进了 HTML 控制,我认为 MVC 仍然具有更高的可测试性(并且随之而来的是松散的 [松散?] 耦合)。
    • 无意冒犯查尔斯,但如何将其标记为正确答案? MVC 和 Webforms 是解决问题的完全不同的方法。对于希望编写代码以匹配无状态 Web 环境而不是将其抽象出来的人来说,MVC 将始终是一个很好的解决方案。对于希望 web 感觉像 winforms 编程的人来说,webforms 会更好。如果两者融合,那么微软未能充分利用每个产品的优势。
    【解决方案3】:

    如果您的标准包括:

    我们的目标是高可测试性、松散耦合和“受控的 HTML”——对我来说,这意味着 ASP.NET MVC。

    那么 ASP.NET MVC 是必须。即使使用 ASP.NET 4.0,您也无法绕过这样一个事实,即如果没有 MVC 所没有的大量额外工作,ASP.NET 就很难测试。

    我在“日常工作”中使用 ASP.NET,但在晚上我一直是 ASP.NET MVC。 ASP.NET 4.0 仍然依赖于遗留的“代码隐藏”和与 ASP.NET 控件一起进行的视图/控制器耦合。这些东西使测试变得更加困难,并且根据定义是“紧密耦合”的。

    【讨论】:

    • 我认为这也让人更难理解。 MVC 非常容易理解……该框架与 Web 的工作方式相匹配。我对 ASP.NET 中的页面模型和控件层次结构感到迷失,以至于 MVC 只是在刷新。
    【解决方案4】:

    选择最有商业意义的。我们总是想等待下一个最好的事情......但如果我们这样做了,我们将永远无法完成任何事情。

    【讨论】:

      【解决方案5】:

      在 Microsoft 平台上为新的或企业 Web 开发选择演示模式是一项艰巨的任务,在我看来只有三个; View Model、Model-View-Presenter (MVP) 或 ASP.NET MVC(Model2 衍生产品)。

      你可以在这里阅读全文ASP.NET MVC Patterns

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多