欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【ASP.NET MVC系列】浅谈MVC

程序员文章站 2022-03-26 12:28:58
描述 本篇文章主要概述ASP.NET MVC,具体包括如下内容: 1.MVC模式概述 2.WebForm概述 3.WebForm与MVC区别 4.ASP.NET MVC发展历程 5.运用程序结构 6.ASP.NET MVC 默认约定 一 MVC模式概述 1. MVC模式运用领域 分析: (1)当前, ......

【ASP.NET MVC系列】浅谈MVC描述

本篇文章主要概述ASP.NET MVC,具体包括如下内容:

1.MVC模式概述

2.WebForm概述

3.WebForm与MVC区别

4.ASP.NET MVC发展历程

5.运用程序结构

6.ASP.NET MVC 默认约定

 一 MVC模式概述

1. MVC模式运用领域

【ASP.NET MVC系列】浅谈MVC

分析:

(1)当前,MVC作为一种主流框架,被广泛运用,如JAVA Web开发,.NET ASP,NET MVC

(2)MVC模式被广泛运用于中间件,如RabbitMQ;

(3)MVC模式广泛运用于接口开发,如ASP.NET WebAPI;

(4)其他领域;

2.MVC大致流程概述

 【ASP.NET MVC系列】浅谈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生命周期

【ASP.NET MVC系列】浅谈MVC

分析:

(1)WebForm Page生命周期,本质上为几个方法的运用;

(2)重点理解管道;

(3)分析页面生命周期时,应结合http本质来综合分析;

2.WebForm请求响应流程概述

【ASP.NET MVC系列】浅谈MVC

分析:

(1).在WebForm中,资源可以分为静态资源和动态资源:

    静态资源:JS文件,Images文件,CSS文件和Html文件等;

    动态资源:.aspx,.ashx,.ascx等;

(2).在WebForm中,浏览器向IIS发出资源请求,当IIS收到请求URL时,先判断该请求是动态资源请求还是静态资源请求,然后分别按照不同的模式去服务器搜索资源。

【ASP.NET MVC系列】浅谈MVC

 3. WebFrom页面构成

 【ASP.NET MVC系列】浅谈MVC

分析:

(1)WebForm中,每个页面对应一个类,页面泪继承Page类,我们称为页面类,如上图中Default页面对应的类为_Default,

(2)每个页面由三部分组成:前端代码(Default.aspx),后台代码(Default.aspx.cs)和设计器(Default.aspx.designer.cs);

三  WebForm与MVC区别

1.WebForm不利于前后端分离,MVC前后端分离;

【ASP.NET MVC系列】浅谈MVC

2.请求url不同,一般情况,WebForm请求的是服务器上的具体路径资源(当然你可以配置虚拟路劲),而MVC却并非如此(按照路由规则,一般情况是:/控制器/视图);

3.与MVC相互比较,响应时间(由于是服务端控件,服务器响应耗时)和带宽问题(WebForm会存在很多垃圾数据,如ViewState)

 【ASP.NET MVC系列】浅谈MVC

 (4)WebForm中,一般是UI+BLL+DAL+Utility+Webservice模式,而在MVC中,一般采用SOA+WebAPI+DAL+Model+MQ+AOP+Docker模式;

四   ASP.NET MVC发展历程

【ASP.NET MVC系列】浅谈MVC

 五  运用程序结构

【ASP.NET MVC系列】浅谈MVC

分析:

(1)在ASP.NET Web 框架中,目录结构是可以被扩展和修改的。

基于MVC框架自动生成的目录结构:

【ASP.NET MVC系列】浅谈MVC

 

但在实际项目实践中,一般都需要调整,调整后的目录结构如下所示:

【ASP.NET MVC系列】浅谈MVC

 “空模板”,添加“单元测试”

 【ASP.NET MVC系列】浅谈MVC

默认生成结构如下

 【ASP.NET MVC系列】浅谈MVC

传统三层结构:

 【ASP.NET MVC系列】浅谈MVC

基于SOA架构

【ASP.NET MVC系列】浅谈MVC

当然,在UI层,一般情况是需要分区的

【ASP.NET MVC系列】浅谈MVC

六  APS.NET MVC基架约定

 【ASP.NET MVC系列】浅谈MVC

分析:

基于ASP.NET MVC 基架生成的MVC,有些默认的约定,如控制器必须以Cotroller结尾等,这些默认约定,不需要在Web.config配置文件中配置;

七   ASP.NET  B/S基架包含的模板

【ASP.NET MVC系列】浅谈MVC

分析:

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

 

十  版权区

感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。 博主网址:http://www.cnblogs.com/wangjiming/。 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2016177728@qq.com。 可以转载该博客,但必须著名博客来源。