首页 > 代码库 > ASP.NET MVC 模式简介

ASP.NET MVC 模式简介

为什么要学习ASP.Net MVC?

MVC架构模式诞生30年后,因为其提供的良好的松耦合、易于扩展、高可维护性等优点,重新在开发社区火起来。作为微软全新的Web网站开发框架,ASP.NET MVC提供了全新的开发模式,完美支持经典的MVC架构模式。为.NET工程师提供了完全不同的开发体验。

越来越多的公司和开发者开始加入到MVC开发模式中来,使他进入了一个高速发展的状态,而现在MVC已经变成了ASP.NET下的一种常见的开发模式,它能让你学习一种完全不同的架构,所以这是我们有理由也有必要掌握的一项开发技能。

ASP.Net MVC学习路线

要有C#ADO.NethtmljavascriptASP.Net WebForm的基础

MVC简介

 MVC 模式两种理解:一种是表现模式,另外一种是架构模式。

它将应用程序分成三个主要组件即:视图(View)控制器(Controller)模型(Model

MModel 主要是存储或者是处理数据的组件Model其实是实现业务逻辑层对实体类相应 数据库操作,如:

CRUD(C:Create/R:Read/U:Update/D:Delete)。它包括数据、验证规则、数据访问和业务逻辑等应用程序信息。ViewModel:视图模型

VView 是用户接口层组件。主要是将Model中的数据展示给用户。ASPXASCX文件被用来处理视图的职责。

CController 处理用户交互,从model中获取数据并将数据传给指定的view

MVC架构模式

 技术分享

MVC架构综合模型

 技术分享

ASP.Net的两种开发方式

WebForm的开发方式

? 服务器端控件

? 一般处理程序+Html静态页+Ajax

? 一般处理程序+Html模板

ASP.Net MVC的开发方式

2009年第一个开源项目版本发布

? 更加简洁,更加接近原始的“请求-处理-响应”

? 更加开发、更多的新的特点、社区活跃

? 不会取代WebForm

? 底层跟WebForm都是一样的。管道上不同的处理而已

WebForm VS MVC

 技术分享

Asp.Net MVC请求模型

 技术分享

MVC的约定

控制器的约定大于配置

1Controller放到controllers文件夹中,并且命名方式以Controller结尾

2每个Controller都对应View中的一个文件夹,文件夹的名称跟Controller名相同Controller中的方法名都对应一个View视图(非必须,但是建议这么做)而且View的名字跟Action的名字相同

3控制器必须是非静态类,并且要实现IController接口

4Controller类型可以放到其他项目中。

视图的相关约定

1所有的视图必须放到Views目录下

2不同控制器的视图用文件夹进行分割,每个控制器都对应一个视图目录

3一般视图名字跟控制器的Action相对应(非必须)

4多个控制器公共的视图放到Shared

ASP.NET MVC 模式的优点

松耦合、易于扩展和维护

有利于开发中的分工

有利于组件的重用 

ASP.NET MVC更好的支持单元测试(Unit Test

在团队开发模式下表现更出众


ASP.NET MVC 模式简介