标签:
坦白地说,学习MVC是前一段时间的事情了。但是,我当时虽然也实践过,却也不能很好的说出个所以然来。因此,也 一直没敢写点什么文字总结。最近,开始学习EF,也同时在使用MVC来结合EF实践增删改查。慢慢地也似乎可以说一点什么,现在也姑且先写下来,好与不好,比喻对或不对,也是成长的记录了。
第一点:什么是ASP.NET MVC?
ASP.NET是一个开发框架,用于通过HTML、CSS、JavaScript以及服务器脚本来构建网页和网站的。
ASP.NET支持三种开发模式:Web Pages、MVC、Web Forms。
简言之,MVC是ASP.NET开发框架下所支持的一种开发模型。
第二点:MVC如何定义Web应用程序?
MVC模型通过三个逻辑层来定义Web应用程序:
Business layer(业务层、模型逻辑)
Display layer(显示层、视图逻辑)
Input control(输入控件、控制器逻辑)
这就类似于我们在学校的时候学习到的三层架构的样子。
第三点:MVC之所以叫MVC?
上图是VS2013建立的一个MVC项目。从中我们可以看到三个文件夹,分别为Controllers、Models、Views。
这三个文件夹,也是我今天主要和大家一起谈的东西。
我想大家都不难看出,MVC之所以叫MVC是来源于这三个文件夹的。
M:Models(模型),V:Views(视图),C:Controllers(控制器)。
Model:模型,可能说成是实体类,更容易让大家理解。但是它又不同于我们在校所学的普通三层的实体类,它在应用程序中也将处理
程序数据逻辑部分的东西。
换句话说,模型对象将会在数据库中进行存取数据的操作 。这也就对应了 Business layer(业务层)。
用一个数学表达式:
Model=(普通三层架构的)实体类+(普通三层架构的)DAL+(普通三层架构的)BLL;
(补充:实际操作中,为了使Model中的代码更为清晰等原因,我们仍旧会在项目中增加一个DAL。当然,这里我们不做讨论)
View:视图,顾名思义,它是一个可见的视觉图像。它是应用程序中处理数据显示的部分。
如果简单的表述,我认为它就是程序反馈给大家的一个HTML页面,就是前台所展示的看得见东西,称之为视图。
它对应的是Display layer(显示层),那么它Dispalay些什么呢?
其实,View主要是将Model层所得到的数据展示给用户。显示用户界面组件。
Controller:控制器 。其是应用程序中处理用户交互部分。通常控制器从视图中读取数据、控制用户输入,并向模型发送数据。
也就是说,Controller像一个桥梁连接着Model和View。更或者在我看来,它就像一个跑腿的信使,做这么一个传递的
角色。
它所对应的是Input control(输入控件)。
第四点:MVC是如何开展工作的?
在第三点中,我多多少少也讲了一些MVC它们之间主要的工作协作。这里我们来看一张图,可能会更加直观的明白。
与数据库进行直接交互的是Model.
USER能够看得见的是View.
Model与View直接并不能直接联系,而是通过Controller进行交流。
然而USER进行的任何操作,也都在通过Controller来处理交互,最终将Model所存取的数据,通过View展示,
最终出现在USER面前。
本文,先将MVC分享至此。有兴趣的同学可以针对MVC学习一下MVC的另一大重点:路由表。
标签:
原文地址:http://www.cnblogs.com/xuyuanyuan/p/4770913.html