我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?

时间:2008-10-29 14:56:00

标签: asp.net asp.net-mvc

我的团队正在考虑使用ASP.NET MVC框架构建我们的下一个Web应用程序。我和其他人一样有点犹豫,因为它仍处于测试阶段。我真的想深入研究,因为它似乎是提供明确的关注点分离和提高可测试性的好方法。

我现在应该采取什么样的举措,而MVC还处于测试阶段,或推迟发布候选版本?

从一些回复中,我想我需要澄清一下我的问题。我主要担心的是,是否使用仍处于测试阶段的产品,而不是webforms与mvc。令人担忧的主要原因是担心我们最终会使用测试版中的某些功能,这些功能在最终版本中会被更改/弃用/不支持。

但是,我很欣赏webforms与mvc的观点。这只是我的问题的核心。

7 个答案:

答案 0 :(得分:17)

这是一个非常简单的决策树,真的。

如果你......选择ASP.NET MVC。

  • 关注网址
  • 非常关心您的HTML
  • 希望真正分离关注点
  • 希望通过
  • 测试可测试性
  • 希望灵活的视图引擎(ASPX,NVelocity,NHaml等)

如果你......选择WebForms。

  • 享受WebForms(ViewState)的有状态抽象
  • 不介意PostBack模型
  • 首选可以在页面上“拖放”的组件

对我来说,99%的答案是ASP.NET MVC,因为我认为它更适合网络。我认为ajax的故事也更清晰,我可以完全控制我的HTML&网址。最重要的是,我可以很容易地测试我的网站(控制器)。

是的,我知道您可以在WebForms中实现干净的URL,并且您可以通过控制适配器获得干净的(呃)HTML,并且您可以使用WebForms中的MVP模式实现一定程度的可测试性,但这些都是非 - - 路径接近。使用ASP.NET MVC,这个东西是核心。这就是你这样做的方式。

不要担心预览/测试版状态。团队一直认为您不需要上线许可证来部署它(即使他们现在提供一个)。它在现有的ASP.NET Runtime上纯粹是附加的。

这就像自动传输和手动传输一样。选择一个让你开心并随之奔跑的人。

答案 1 :(得分:4)

我更喜欢ASP.NET MVC到WebForms,所以我会选择它,但是你需要在你的核心技能组合的团队中工作,以及选择MVC是否会:

  1. 创造更好的产品。
  2. 让您更快地进入市场。
  3. 不要只选择它,因为它是新的。 WebForms仍然是一个很好的选择,你可以为WebForms编写代码,这些代码既可以测试也可以清楚地分离出来。

答案 2 :(得分:1)

到目前为止Mvc看起来不错,但是我是一名城堡倡导者,我在许多生产基地使用过单轨列车,这让我了解了IoC和AR Cheack out castleproject.org

答案 3 :(得分:1)

我建议给它一个镜头。

我们最近刚刚发布了一个运行前端的MVC电子商务平台,虽然有一些问题你可能偶然发现(比如说,使用匿名类型解析Url目前比使用RouteValueDictionary慢得多,这是一个惊喜对我而言,与我们较旧的WebForms应用程序相比,在MVC中构建可管理系统肯定感觉要容易得多。

如果你有选择的奢侈,那么你一定要仔细看看。在我们工作的过程中出现的错误已经得到了相当及时的修复,现在大部分工作都很顺利,并且开始感觉非常完整。

但最终,采用早期测试版产品始终存在风险。 :)

答案 4 :(得分:1)

除非您的应用程序非常简单,否则MVC可能会在您投入生产之前发布。但这并不重要。我从预览版2开始就在MVC上构建。每个新版本都包含重大变化;然而,他们并不是很难追查和修复。你不太可能通过1.0创建一大堆代码,这些代码会被一些重大变化推翻。只需预算几个小时即可应用每个新版本。

答案 5 :(得分:0)

如果您不必尽快将您的应用程序投入生产,请将其写入MVC。 在这里,我们有一个团队与MVC合作,并计划在2009年1月将其投入生产。

答案 6 :(得分:0)

如果它不是关键任务,你和你的团队有时间学习它,为什么不呢?