最近几周,在博客、Twitter和论坛上如火如荼地展开了一场讨论。讨论的内容是:开发人员是否应该使用或学习ASP.NET MVC。从“不推荐学习”到“所有ASP.NET开发人员都应该学习”,各种不同的观点层出不穷。InfoQ对其中部分讨论内容进行了总结。

Rob ConereySubSonic之父,目前是微软ASP.NET MVC团队的一员)解释了为什么开发人员应该学习ASP.NET MVC。在文章的开始,他称WebForms是一个“巨大的谎言”。

WebForms是个谎言,它是一个被种种谎言和欺骗所包围着的抽象机制。你对WebForms所做的一切都与Web无关 - 它帮你做了本该你自己做的事。

朋友们,这可是件大事(至少对我来说):你工作在谎言中。Web是“无”状态的,它依赖一种叫做HTML的东西,并使用另一种叫做HTTP的东西通过电缆将HTML发来发去-你需要了解它、热爱它并在骨子里感受它。


Rob列举了7个使用ASP.NET MVC的理由,或者用他的话说“避免被称为怪人的7个理由”:


  • 可测试性
  • 完全控制HTML
  • 可扩展
  • 促使你思考
  • 易于客户端Javascript编程
  • 可以学到新的东西
  • 有趣

然后总结到:


结论:Web编程再一次充满了乐趣,至少对我和我的猫来说。当然这又是一个关于WebForms和MVC的比较,但是更直接一些。你几乎无法找到不学习MVC的理由 - 当然,对你来说可能还是有一两个理由,促使你继续使用WebForms。


Joe BrinkmanDotNetNuke的全职开发人员)迅速的做出了回应,批评Rob没有找到一个“好”的学习MVC的理由,并列出了他自己的:


  • 学习一种不同的架构
  • 强迫你熟悉HTML和HTTP
  • MVC促进了单元测试
  • MVC将使你意识到你对WebForms有多少是想当然的
TOP