MVC核心基础

ASP.NET MVC简介
什么是ASP.NET MVC
HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大、工作量大。因此提供了ASP.Net MVC、ASP.Net WebForm等高级封装的框架,简化开发,他们的底层仍然是HttpHandler、HttpRequest等这些东西。比如ASP.Net MVC的核心类仍然是实现了IHttpHandler接口的MVCHandler。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。

MVC的发展史

MVC的版本

  1. 1.0:基于.NET3.5 VS2008(核心功能)
  2. 2.0:基于.NET3.5、4.0 VS2010(分区项目、模型元数据、模板视图…)
  3. 3.0:基于.NET4.0 VS2010、VS2012(视图引擎:Razor、H5和CSS3)
  4. 4.0:基于.NET4.0、4.5 VS2012、VS2013(手机模板、单页应用程序模板)
  5. 5.0:基于.NET4.5.1 VS2013、VS2015
  6. 6.0;基于.NET4.5.1-4.8 VS2017、VS2019(只剩Razor视图引擎)

ASP.NET开发模式

MVC核心基础

Model负责在View和控制器之间进行数据的传递:用户输入的内容封装为Model对象,发给Controller;

要显示的数据由Controller放到Model中,然后扔给View去显示。

WebForm和MVC的关系

都是对HttpHandler的封装框架,ASP.net WebForm是微软为了让开发ASP.Net像开发WinForm一样傻瓜化发明的框架,有很多缺点;ASP.net MVC采用了MVC的思想,更适合现代项目的开发,因此ASP.net MVC在逐步取代ASP.Net WebForm。
在MVC中不存在ViewState

为什么ASP.NET MVC更好

程序员有更强的掌控力,不会产生垃圾代码;程序员能够更清晰的控制运行过程,因此安全、性能、架构等更清晰。WebForm和ASP.netMVC在“入门”和“深入”两个要素之间正好相反。

ASP.NET MVC与“三层架构”

ASP.net MVC与“三层架构”没有任何的关系。三层架构中的UI层可以用ASP.Net MVC来实现。可以理解为MVC其实是对UI层进行再次分层

相关文章: