ASP.NET MVC 似乎正在占据相当大的份额。谁能总结一下它的 MVC 实现如何与其他语言的流行 MVC 框架相比?(我特别想到的是 Rails 和 Zend Framework,尽管显然有很多。)欢迎对学习曲线、常用术语、易用性和感觉良好因素进行观察。

(为了了解一些背景知识,我有一段时间一直避免使用 ASP.NET,因为我真的很讨厌 Web 表单方法,但 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)在分离关注点方面做得非常好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top