我即将开始一个新项目。我想要一些指标来确定我是否应该使用ASP.NET MVC。
(除了使用ASP.NET MVC的经验......)
启动项目时应该使用ASP.NET MVC模型的哪些指标?
在启动项目时,ASP.NET MVC模型应该不使用哪些指标?
答案 0 :(得分:5)
嗯。我对这个问题的看法比较好,我想当且只有在以下情况下使用WebForms才能可接受:
如果以上任何陈述都是错误的,我建议你忘掉WebForms并深入研究ASP.NET MVC。
修改强>
还有另一个原因是不使用ASP.NET MVC:
不幸的是,这将使上述任何原因无效。
答案 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就有一个内置解决方案来存档问题(代价是更复杂)。