MVC

来源:互联网 发布:api原油数据分析 编辑:程序博客网 时间:2024/06/06 14:25

MVC

   MVC全名是Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,是一种软件设计模式。
   Model:指要处理的业务代码和数据操作代码。
   View:用来显示数据,直接和用户接触,相当于界面。
   Controller:用于控制应用程序的流程,处理事件并作出响应,可以看成是Model和View的桥梁。

MVC与三层

   三层分为UI(表示层)、BLL(业务逻辑层)、DAL(数据访问层)。

   View相当于三层中的UI层;Model大多人都认为它相当于三层中的DAL层,其实,这样的理解是错误的,根据上面关于Model的定义,可以看出“Model=BLL+DAL”。而Controller在三层中是没有对应的概念的(注:不要将三层和MVC弄混),在MVC中Model和View相互不认识,即不知道对方的存在由控制器决定Model应该执行哪一段业务代码,执行完毕之后,再由控制器决定View加载哪一个视图。

WebForm与MVC

先用图说明问题:


   上面的图为WebForm运行机制

1)首先浏览器会向目的服务器发送请求报文(关键是请求的url);

2)服务器端的IIS软件接收到请求后,把请求交给.NET FramWork进行处理;

3).NET FramWork会根据请求的地址,创建Index_aspx类的对象,也就是我们所说的页面对象;

4)返回给浏览器(包括Html,CSS,Js等等);

5)浏览器解析为图形界面。

   下面的图为MVC运行机制:

1)浏览器向服务器发送Request请求报文(区别是url中没有后缀);

2)服务器端的IIS接收Request请求,交给.NET  FramWork;

3).NET FramWork根据路由配置,解析URL,并创建News类的对象,调用相应的Index方法;

4)调用视图文件夹下的Index.cshtml,返回给浏览器(其中包括html,css,js等等)。

   对MVC网址请求的解析:

网址:类名+方法名(new/index)

解析:根据news创建news(控制器)类的方法,根据index调用对象里面的index方法,根据return方法加载一个跟当前方法同名的视图,执行视图后,生成html代码发回到浏览器。

   MVC是微软对外公布的第一个开源的表示层框架,MVC目的不是取代WebForm开发,只是web开发的另一种选择。两者最本质区别是请求url不同,MVC是将请求交给控制器处理,而WebForm是将请求交给请求页的后台文件处理。

   对MVC的认识还有待实践!


0 0