ASP.NET MVC与ASP.NET 4.0的比较

12

我最近观看了这个网络广播,我感到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呢?

5个回答

22

我觉得你的问题有些不太清楚。

你问的是选择 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 发布之后,那么现在就开始使用它,除非这会带来其他问题。


同意,这个答案比被采纳的解决方案好得多。 - Andrew
我觉得这里到目前为止我最好的回答是告诉某人他们生活在一个理想的世界里,在那里他们可以同时得到糖果和冰淇淋:D - 如果总是这种情况,那将会是一个多么美妙的世界啊! - kastermester
接受已经被移动 :-) 这是一个更好的答案。 - user191152

6
如果您的应用程序在三月发布日期之后发布,那么选择ASP.Net 4.0是毫无疑问的。如果不是这种情况,就不太清楚了。我的公司现在也面临同样的问题。我们是选择使用.Net 4.0还是不用呢?对于我们来说,我们的解决方案是内部托管的,所以我们没有在未发布平台上发布产品的问题。我们最大的担忧是从Beta2到RTM的变化。
作为一名开发人员,我总是希望使用最新的平台。但是公司必须考虑客户和移动到新平台的风险。大多数情况下,谨慎比率先行动更加明智。
ASP.MVC 1.0得到支持并已发布。它是一个很棒的Web框架。如果您不需要ASP.MVC 2中的特定功能,请使用ASP.NET MVC 1。

我想这是一个不需要费脑筋的事情。而且由于架构松散耦合且非常精心设计,更换UI不会是最麻烦的工作。 - user191152
即使在4.0中改进了HTML控件,我认为MVC仍具有更高的可测试性(并伴随着较松散的耦合)。 - Matthew Groves
1
不是针对 Charles,但这怎么被标记为正确答案的?MVC 和 Webforms 是完全不同的解决问题的方法。对于那些想要编写与无状态 web 环境相匹配的代码的人来说,而不是将其抽象化,MVC 始终是一个很好的解决方案。对于那些希望 Web 感觉像 WinForms 编程的人来说,Webforms 将更好。如果两者融合在一起,那么微软没有充分利用每个产品的优势。 - Andrew

5
如果你的标准包括以下内容:
我们的目标是高可测试性、松散耦合和“可控HTML”——对我来说,这意味着ASP.NET MVC。
那么ASP.NET MVC就是必须的。即使使用ASP.NET 4.0,如果没有大量额外的工作,很难测试ASP.NET。
我在我的“日常工作”中使用ASP.NET,但在晚上我完全使用ASP.NET MVC。ASP.NET 4.0仍然保留着传统的“Code-Behind”,以及与ASP.NET控件相关的视图/控制器耦合。这些都是使测试变得更加困难的因素,并且根据定义是“紧密耦合”的。

我认为这也使得理解更加困难。MVC非常容易理解...框架与Web的工作方式相匹配。在ASP.NET中,我对页面模型和控件层次结构感到很迷惑,而MVC则是一种令人耳目一新的选择。 - Andrew

3

选择对业务最有意义的方案。我们总是觉得要等待更好的事情出现……但如果我们这样做,我们将永远无法完成任何事情。


1

在微软平台上选择新的或企业级Web开发的演示模式是一项艰巨的任务,我认为只有三种选择:视图模型、模型-视图-控制器(MVP)或ASP.NET MVC(Model2的衍生版本)。

您可以在此处阅读完整文章 ASP.NET MVC Patterns


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接