描述
本篇文章主要概述 ASP.NET MVC,具体包括如下内容:
1.MVC 模式概述
2.webForm 概述
3.WebForm 与 MVC 区别
4.ASP.NET MVC 发展历程
5. 运用程序结构
6.ASP.NET MVC 默认约定
一 MVC 模式概述
1. MVC 模式运用领域
分析:
(1) 当前,MVC 作为一种主流框架,被广泛运用,如 JAVA Web 开发,.NET ASP,NET MVC
(2)MVC 模式被广泛运用于中间件,如 RabbitMQ;
(3)MVC 模式广泛运用于接口开发,如 ASP.NET WebAPI;
(4) 其他领域;
2.MVC 大致流程概述
分析:
(1)MVC 由三大核心模块构成:控制器 (Controller,简称 C),模型(Model,简称 M) 和视图(View,简称 V);
(2)View 负责视图呈现,Model 负责数据处理,Controller 负责处理视图与模型之间逻辑;
(3)WebForm 中,一般是 UI+BLL+DAL+Utility+WebService 模式,而在 MVC 中,一般采用 SOA+WebAPI+DAL+Model+MQ+AOP+Docker 模式;
二 WebForm 概述
1. WebForm 生命周期
分析:
(1)WebForm Page 生命周期,本质上为几个方法的运用;
(2) 重点理解管道;
(3) 分析页面生命周期时,应结合 http 本质来综合分析;
2.WebForm 请求响应流程概述
分析:
(1). 在 WebForm 中,资源可以分为静态资源和动态资源:
静态资源:JS 文件,Images 文件,CSS 文件和 html 文件等;
动态资源:.aspx,.ashx,.ascx 等;
(2). 在 WebForm 中,浏览器向 IIS 发出资源请求,当 IIS 收到请求 URL 时,先判断该请求是动态资源请求还是静态资源请求,然后分别按照不同的模式去服务器搜索资源。
3. WebFrom 页面构成
分析:
(1)WebForm 中,每个页面对应一个类,页面泪继承 Page 类,我们称为页面类,如上图中 Default 页面对应的类为_Default,
(2)每个页面由三部分组成:前端代码 (Default.aspx),后台代码(Default.aspx.cs) 和设计器(Default.aspx.designer.cs);
三 WebForm 与 MVC 区别
1.WebForm 不利于前后端分离,MVC 前后端分离;
2. 请求 url 不同,一般情况,WebForm 请求的是服务器上的具体路径资源 (当然你可以配置虚拟路劲),而 MVC 却并非如此(按照路由规则,一般情况是:/ 控制器 / 视图);
3. 与 MVC 相互比较,响应时间 (由于是服务端控件,服务器响应耗时) 和带宽问题(WebForm 会存在很多垃圾数据,如 ViewState)
(4)WebForm 中,一般是 UI+BLL+DAL+Utility+Webservice 模式,而在 MVC 中,一般采用 SOA+WebAPI+DAL+Model+MQ+AOP+Docker 模式;
四 ASP.NET MVC 发展历程
五 运用程序结构
分析:
(1) 在 ASP.NET Web 框架中,目录结构是可以被扩展和修改的。
基于 MVC 框架自动生成的目录结构:
但在实际项目实践中,一般都需要调整,调整后的目录结构如下所示:
"空模板",添加 "单元测试"
默认生成结构如下
传统三层结构:
基于 SOA 架构
当然,在 UI 层,一般情况是需要分区的
六 APS.NET MVC 基架约定
分析:
基于 ASP.NET MVC 基架生成的 MVC,有些默认的约定,如控制器必须以 Cotroller 结尾等,这些默认约定,不需要在 Web.config 配置文件中配置;
七 ASP.NET B/S 基架包含的模板
分析:
1..NET 分为 C/S 和 B/S,B/S 基架包含的模板为 WebForm,MVC,WebApi,Single Page Application,Azure API 运用;
八 其他内容
路由,控制器,视图,模型,表单和 Html 辅助方法,数据注解和验证,成员资格、授权和安全性,Nuget,WebApi, 依赖注入,单元测试,MVC 高级主题,将在后续文章中与大家分享。
九 参考文献
【01】ASP.NET MVC5 高级编程 (Jon Galloway,Brad Wilson,K.Scott Allen,David Matson , 孙远帅 译)
【02】MSDN 十 版权区
来源: https://www.cnblogs.com/wangjiming/p/8109555.html