确定是否应该使用.NET MVC

时间:2010-11-05 15:09:47

标签: asp.net-mvc

我即将开始一个新项目。我想要一些指标来确定我是否应该使用ASP.NET MVC。

(除了使用ASP.NET MVC的经验......)

启动项目时应该使用ASP.NET MVC模型的哪些指标?

在启动项目时,ASP.NET MVC模型应该使用哪些指标?

4 个答案:

答案 0 :(得分:5)

嗯。我对这个问题的看法比较好,我想当且只有在以下情况下使用WebForms才能可接受

  • 您的团队成员不了解Web标准,他们更喜欢使用Visual Studio来开发页面。
  • 你不关心TDD。
  • 你不关心对象耦合和其他“深奥”的SOLID原则。
  • 您错过了开发Windows应用程序,并希望Web开发尽可能接近该体验。
  • 您不关心最大化性能,也不关心无会话的Web应用程序。
  • 你想让它变得快而又脏。

如果以上任何陈述都是错误的,我建议你忘掉WebForms并深入研究ASP.NET MVC。

修改

还有另一个原因是不使用ASP.NET MVC:

  • 你以某种方式提交到WebForms(例如,在WebForms组件或培训上花了很多钱)。

不幸的是,这将使上述任何原因无效。

答案 1 :(得分:2)

如果您想要或需要可测试性,请务必使用MVC。这几乎是MVC的唯一区域,在Webforms中几乎是不可能的。除此之外,它完全是主观的。

这两个框架几乎同样适用于大多数领域。在我看来,归结为一件事:

您更喜欢使用基于页面和组件的框架(Webforms)还是基于动作的MVC框架(显然是MVC)。

在我看来,网络新闻的压力要大得多,而老实说,这些日子似乎只是讨厌网页形式,并喜欢MVC。

两者都只是达到目标的工具,选择您最喜欢的。就是这样。

答案 2 :(得分:2)

这些天我一般都会使用MVC。但是webforms并没有那么糟糕,4.0调整带来的东西更符合现代Web标准和工具。他们可以真正发挥作用的一个地方是内联网应用程序 - 劣质搜索引擎优化和观点状态等缺点要么无关紧要,要么成为优势。 Drag-n-drop ajax很不错,许多开发人员在jquery上使用ajax控件工具包仍然做得更好。

在可测试性方面,我同意MVC在UI层中更容易测试,但应用程序的内容应该低于该水线。而且,MVC(DefaultModelBinder任何人?)中还有一些黑魔法和伏都教。在这两种情况下你真正需要的是真正的UI集成测试,他们通常不关心任何一种方式。

做你所知道和喜爱的事情。

答案 3 :(得分:0)

用户界面复杂性 mvc架构的主要限制是缺少viewstate,它没有提供任何集成的解决方案来管理UI的组件状态。 asp net webfom提供了一个集成的解决方案来管理它。 因此,如果您计划在内部使用许多小部件来实现UI,那么webform就有一个内置解决方案来存档问题(代价是更复杂)。