This article is currently in the process of being translated into Chinese (~87% done).
What is MVC?
MVC是模型(Model) - 视图(View) - 控制器(Controller)的缩写,是最初在20世纪70年代开发的软件模式,当时图形用户界面处于开发的早期阶段。 MVC将应用程序分为三个方面:
模型(Model)
它负责存储数据和业务逻辑。在大多数网站中,它主要负责表现,如数据库的一个表,或者其他网站需要用到的对象。
视图(View)
视图(View)就是模型(Model)的视觉表现。在大多数网站里,无论它是一个输入框,或是一个数据显示单元,或是二者的结合,它都是向用户呈现模型(Model)的页面。视图并不需要显示出模型中的所有内容,而且一个模型可以通过多个视图来显示。
控制器(Controller)
控制器会处理你的模型(Model)和你的视图(View)之间的所有通信。在一个典型的Web应用程序中,当一个页面被加载或一个按钮被点击时,此时用户就会调用控制器的方法。如果需要的话,控制器会更新模型(Model),然后返回一个新的视图/动作(后面会有更多的介绍)。
MVC的发展
在20世纪70年代被引入后,MVC模式在接下来的30年里没有得到太多关注。早期的网络语言,如Perl、PHP和ASP Classic并没有真正关注设计模式,即使ASP.NET发布了,MVC仍然不是它的一个组成部分。当然,你可以将MVC技术应用到你的项目中,但是没有一个流行的框架以任何方式鼓励它。
然后,在2004年,Ruby on Rails框架发布了,这是一个基于Ruby语言的Web开发框架,从MVC模式中获得了很大的灵感。很多人认为这让人们重新关注MVC,此后不久,许多以MVC模式为中心的PHP框架发布了。所有这些都使MVC模式非常受欢迎,这可能就是为什么微软决定为他们的。NET框架实现它,包括在他们的Visual Studio IDE中的大量工具支持。ASP.NETMVC于2007年发布,但第一个最终版本在2009年之前没有出现。
在接下来的章节中,我们将更深入地研究ASP.NETMVC是关于什么的,以及它与替代方案(主要是ASP.NETWebForms)的比较。