ASP.NET MVC 似乎是一个相当大的入口。谁能总结一下它的 MVC 实现如何与其他语言的流行 MVC 框架相媲美?(我特别想的是 Rails 和 Zend 框架,虽然显然有很多。)关于学习曲线、常用术语、易用性和感觉良好因素的观察。
(为了了解一点背景知识,我已经避免使用 ASP.NET 有一段时间了,因为我真的很讨厌 webforms 方法,但是 Jeff 在播客上的大量赞美几乎说服了我试一试。)
ASP.NET MVC 似乎是一个相当大的入口。谁能总结一下它的 MVC 实现如何与其他语言的流行 MVC 框架相媲美?(我特别想的是 Rails 和 Zend 框架,虽然显然有很多。)关于学习曲线、常用术语、易用性和感觉良好因素的观察。
(为了了解一点背景知识,我已经避免使用 ASP.NET 有一段时间了,因为我真的很讨厌 webforms 方法,但是 Jeff 在播客上的大量赞美几乎说服了我试一试。)
我刚刚进入 ASP.NET MVC,所以这些是一些将其与 Rails 进行比较的早期想法:
大多数情况下都设法坚持使用静态类型,但代价是一些额外的代码。
这要么给你温暖的模糊感,要么让你觉得有点束缚,这取决于你对动态打字的感觉。例如,您可以让您的视图期待特定类型的数据(因此可以在编译时检查您的视图)。
更好地分离框架的各个部分。
所以 Rails 中没有规定的数据访问机制,例如 ActiveRecord;你可以自由选择你自己的。如果你想要一些便宜的东西,如果你想要更冗长的东西,LINQ 感觉很相似。您可以使用 ASP.NET 的非 WebForms 部分,例如缓存和身份验证。
仍在玩功能追赶。
Preview 5 带来了 AcceptVerbs、模型更新器(类似于 Ruby 的 hash.merge)以及更多将表单绑定到模型的方法。感觉在他们检查 Rails 的大部分功能集之前还有更多的事情要做。
我仍然缺少一点 Rails 的自由和优雅(我猜其中大部分归功于 Ruby),但 ASP.NET MVC 确实感觉非常接近。
如果您已经在使用 .NET 惯用语进行编程,那么很容易掌握 MVC 框架中发生的许多事情。另一方面,如果您在开始之前从未关注过 Ruby,那么 Rails 可能很容易上手(当然,在基本层面上)。
不过,您似乎在谈论质量作为 MVC 的问题,在我看来,这两个框架(不能代表 Zend)在分离关注点方面做得很好。