ASP.NET MVC与Zeitgeist
ASP.NET MVC似乎有一个很大的入口。谁能总结一下它的MVC实现与其他语言的流行MVC框架相比如何? (尽管显然有很多,但我特别在考虑Rails和Zend Framework。)有关学习曲线,常用术语,易用性和感觉良好的因素的观察。
(出于一些背景考虑,我一直避免使用ASP.NET,因为我真的很讨厌webforms方法,但是Jeff对播客的赞美几乎使我信服了。)
解决方案
回答
如果我们已经在使用.NET惯用语进行编程,则可以很容易地了解MVC框架中发生的许多事情。另一方面,如果我们在开始之前从未关注过Ruby,那么Rails可以很容易地被拿起(在基本级别上是允许的)。
但是,似乎我们正在谈论质量为MVC,在我看来,这两个框架(不能代表Zend)都很好地完成了关注点的分离。
回答
我只是进入ASP.NET MVC,所以将它们与Rails进行比较是一些早期的想法:
大多数情况下,它会设法坚持使用静态类型,但要花一些额外的代码。
根据我们对动态键入的感觉,这将使我们感到温暖或者模糊不清。例如,我们可以让视图期望使用特定类型的数据(这样就可以对视图进行编译时检查)。
更好地分离框架的各个部分。
因此,没有规定的数据访问机制,例如Rails中的ActiveRecord。我们可以自由选择自己的。如果我们想要便宜的东西,或者更冗长的话,LINQ的感觉就很相似。我们可以使用ASP.NET的非WebForms部分,例如缓存和身份验证。
仍在进行功能追赶。
预览5带来了AcceptVerbs,模型更新程序(类似于Ruby的hash.merge)以及将表单绑定到模型的更多方法。在检查Rails拥有的大多数功能之前,感觉还有更多的东西要来。
我仍然缺少Rails的自由和优雅(我想其中大部分归功于Ruby),但是ASP.NET MVC确实确实非常接近。