Asp.net mvc 确定是否应使用.NET MVC

Asp.net mvc 确定是否应使用.NET MVC,asp.net-mvc,Asp.net Mvc,我即将开始一个新项目。我想要一些指标来确定我是否应该使用ASP.NET MVC (除了ASP.NET MVC的经验…) 启动项目时,ASP.NET MVC模型应该使用哪些指标 启动项目时不应使用ASP.NET MVC模型的一些指标是什么?Hm。我对这个问题考虑得更好,我想使用WebForms是可以接受的,如果且仅当: 您的团队成员不知道web标准,他们更喜欢使用Visual Studio开发页面 你不在乎TDD 您不关心对象耦合和其他“深奥”的实体原则 您错过了开发windows应用程序,并且

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

(除了ASP.NET MVC的经验…)

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


启动项目时不应使用ASP.NET MVC模型的一些指标是什么?

Hm。我对这个问题考虑得更好,我想使用WebForms是可以接受的,如果且仅当:

  • 您的团队成员不知道web标准,他们更喜欢使用Visual Studio开发页面
  • 你不在乎TDD
  • 您不关心对象耦合和其他“深奥”的实体原则
  • 您错过了开发windows应用程序,并且希望web开发尽可能接近这种体验
  • 您不关心性能的最大化,也不关心无会话的web应用程序
  • 你想把它弄得又快又脏
如果以上任何一个说法都是错误的,我建议您忘记WebForms,转而使用ASP.NET MVC

编辑:

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

  • 您对WebForms有一定的投入(例如,在WebForms组件或培训上花了很多钱)

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

如果您想要或需要可测试性,一定要使用MVC。这几乎是MVC中唯一一个在Webforms中几乎不可能实现的领域。除此之外,这完全是主观的

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

您喜欢使用基于页面和组件的框架(Webforms)还是基于操作的MVC框架(MVC)

在我看来,网络表单受到的负面新闻比它应得的要多得多,老实说,这些天来讨厌网络表单、喜欢MVC简直是天方夜谭


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

这些天我一般都会使用MVC。但是webforms并没有那么糟糕,4.0的调整使事情更加符合现代web标准和工具。内联网应用程序是它们真正的亮点之一——搜索引擎优化(SEO)和视图状态(viewstate)不佳等缺点要么无关紧要,要么成为优势。拖放式ajax很好,许多开发人员使用ajax控制工具包比使用jquery做得更好

在可测试性方面,我同意MVC在UI层更易于测试,但应用程序的核心应该在这条底线之下。此外,MVC中也有相当多的黑魔法和巫毒(有人吗?)。在这两种情况下,您真正需要的是真正的UI集成测试,它们通常不关心任何一种方式


所以,做你所知道和喜欢的事情。

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

我没有将此作为一个答案,这是不值得的,但是如果你使用ASP.NET,那么就使用ASP.NETMVC——默认的webforms实现是hellspawn.Megadupe:回答得好。等同于“如果您是winforms开发人员,webforms可能适合您”,这并不离题。回答得好。但根据经验,使用ASP.NETMVC!为我辩护,我要说我一直讨厌网络表单。。。我是MVC的早期使用者,因为几乎没有.NET开发人员知道MVC是关于什么的。。。但我们有一点是一致的:WebForms受到了很多负面新闻。。。人们还在谈论它。NET开发人员应该忘记它的存在,开始完全谈论其他东西!!:-)MVC在所有层中都更易于测试。WebForms不是—您可以将其弯曲以使其成为可测试的,但这不是它的真正本质。就像标准的K&R C,它不是一种面向对象的语言,但可以被折成一种(使用结构和虚拟指针表):这是可能的;这也很难做到(MVP有人吗?)。但是,是的,我同意WebForms对于intranet、点击式RAD开发是有用的,所以+1是有用的。