一、ASP.NET的两种开发模式
1.1ASP.NET WebForm的开发模式
(1)处理流程
在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx
的URL,那么我们的WebForm程序会到网站根目录下去寻找blog目录下的index.aspx文件,然后又index.aspx页面的CodeBehid文件(.CS文件)进行逻辑处理,其中或许包括到数据库中去取出数据 (其中的经过怎样的BLL到DAL这里就不谈了),然后再index.aspx页面来呈现给用户。
·综上所述,在WebForm模式下:一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。
(2)开发方式
·服务器端控件
·一般处理程序+Html静态网页+Ajax
·一般处理程序+Html模板引擎
1.2 ASP.NET.MVC的开发模式
MVC模式两种理解:一种是表现模式,另外一种是架构模式。它将应用程序分成三个主要组件即:
Model-M:模型
View-V:视图
Controller-C:控制器
现在,我们来看看M-V-C分别代表着些什么?
M:Model主要存储或者是处理数据的组件;Model其实是实现业务逻辑层对实体类相应数据库操作,如:
CRUD。它包括数据、验证规则、数据访问和业务逻辑等应用程序信息。(补充:ViewModel:试图模型)
V:View是用户接口层组件。主要是将Model中的数据展示给用户。aspx和ascx文件被用来处理视图的职责;
C:Controller处理用户交互,从Model中获取数据并将数据传递给指定的View。
(1)MVC作为架构模式的理解
作为架构模式时,View的职责就是负责展示数据,而Controller则负责获取View传递过来的数据,然后调用业务逻辑层处理完成的数据传递给View进行展示。而Model则处理业务逻辑,并把结果返回给Controller。从传统三层架构上来看,View和Controller都属于UI层,而Model则横跨BLL与DAL层。