我的团队正在考虑使用ASP.NET MVC框架构建我们的下一个Web应用程序.我和其他人一样有点犹豫,因为它仍处于测试阶段.我真的想深入研究,因为它似乎是提供明确的关注点分离和提高可测试性的好方法.
我现在应该采取行动吗,而MVC仍处于测试阶段,或者推迟发布候选版本?
从一些回复中,我想我需要澄清一下我的问题.我主要担心的是,是否使用仍处于测试阶段的产品,而不是webforms与mvc.令人担忧的主要原因是担心我们最终会在测试版中使用某些功能,这些功能在最终版本中会被更改/弃用/不支持.
但是,我很欣赏webforms与mvc的观点.这不是我的问题的核心.
真的,这是一个非常简单的决策树.
如果你......选择ASP.NET MVC
关注网址
非常关心您的HTML
希望真正分离关注点
想要通过可测试性
想要灵活的视图引擎(ASPX,NVelocity,NHaml等)
如果你......选择WebForms
享受WebForms的有状态抽象(ViewState)
不介意PostBack模型
首选可以在页面上"拖放"的组件
对我来说,99%的答案是ASP.NET MVC,因为我觉得它更适合网络.我认为ajax故事也更清晰,我可以完全控制我的HTML和URL.最重要的是,我可以很容易地测试我的网站(控制器).
是的,我知道您可以在WebForms中实现干净的URL,并且您可以通过控制适配器获得干净的(呃)HTML,并且您可以使用WebForms中的MVP模式实现一定程度的可测试性,但这些都是非常简单的路径方法.使用ASP.NET MVC,这个东西是核心.这就是你做的方式.
并且不要担心预览/测试版状态.团队一直认为您不需要上线许可证来部署它(即使他们现在提供一个).它在现有的ASP.NET Runtime上纯粹是附加的.
这就像自动传输和手动传输.选择一个让你开心并随之奔跑的人.