【发布时间】:2010-10-14 06:07:11
【问题描述】:
我有一个关于 MVC 的非常简单的问题。
它到底是什么,我为什么要注意它。我知道它不是 asp.net 的替代品,但是在 ASP.NET 中有什么是我不能做的,因此需要 MVC。
我知道 google.com 是找到一些答案的最佳方式,但我想如果这里非常了解这一点的人可以解释我,我将非常感激。
【问题讨论】:
-
这是一个非常糟糕的问题命名
标签: asp.net-mvc
我有一个关于 MVC 的非常简单的问题。
它到底是什么,我为什么要注意它。我知道它不是 asp.net 的替代品,但是在 ASP.NET 中有什么是我不能做的,因此需要 MVC。
我知道 google.com 是找到一些答案的最佳方式,但我想如果这里非常了解这一点的人可以解释我,我将非常感激。
【问题讨论】:
标签: asp.net-mvc
它将带您使用 MVC 进行简单的测试项目,以了解优缺点。阅读博客和文章虽然有用,但不会给您带来太多洞察力。看看吧,创造你自己的体验。
【讨论】:
我想在之前的回答中补充一点,如果您根本不想采用 MVC,您可以使用 MVP 模式通过 WebForms 来分离关注点。
这是 Phil Haack 的一篇不错的文章。
MVP 模式的好处在于,您可以将表示逻辑从 ASP.NET 切换到 Silverlight、WinForms 甚至 WPF。
【讨论】:
ASP.NET MVC 使用与 Web 表单不同的设计模式。 MVC 旨在将不同的关注点分成不同的层。
ASP.NET MVC 为您提供了一些开箱即用的好东西,例如脚手架(基本上您为其提供数据源并为您生成基本表单)和 URL 重写。当然,您可以使用 Web 表单执行此操作,但 MVC 为您开箱即用,这很好。
在 ASP.NET MVC 中,您可以更好地控制标记(或者至少可以更轻松地控制标记)。对于很多人来说,这是一个真正的好东西。也就是说,您也会失去一些使 ASP.NET 网络表单易于使用的东西,例如 ViewState。
另外,我想补充一点,您可以混合搭配网络表单和 MVC,所以这不是“全有或全无”的情况。
希望有所帮助。
【讨论】:
首先我会说,MVC 旨在取代您所建议的 Webforms,这是一个常见的误解。 ASP.NET MVC 只是 MVC pattern 的 ASP.NET 实现。我建议您查看this post 和this post。就像你提到的,你不仅可以搜索谷歌,也可以在这里搜索。
您可以查看ScottGu's entry explaining it(2007 年发布)。
此外,ASP.NET MVC Phil Haack 的 PM 在 his blogs on MVC 中有信息
【讨论】: