1

MVC与ASP.NET的区别

1.1概述

三层架构和mvc的区别_mvc webapi架构搭建_mvc架构实战

三层架构和mvc的区别_mvc架构实战_mvc webapi架构搭建

1.2本章主要内容

1.3MVC简介1.3.1MVC是什么

(1)MVC是一种软件架构模式,针对具备人机交互功能的软件和程序

(2)执行顺序如下:

Web开发的本质流程:请求->处理->响应

1.3.2MVC的历史(1)1973年Trygve教授的两篇论文提出了如下软件设计思想:

1)重写任何系统的能力

2)模块化、可插入的透明子系统的存在

3)每个系统的细分

4)系统的可伸缩性

在此基础之上,演变成了OOP思想

(2)1978年Trygve教授在美国加州,进一步提炼思想,提出了MVC模式(3)至今,发展成为计算机科学中最受欢迎的应用程序模式之一(4)MVC的思想诞生的很久远,但是真正兴起是在WEB时代,

Web才是MVC的真正土壤

(5)当下流行的MVC架构

1)RubyonRails(2004年7月24岁的美国人)

2)Python世界的Django

3)Java世界的Spring、Struts和JSF

4)PHP世界的Zend

1.3.3.NET中的MVC

(1).NET在MVC方面一直比较落后

(2)MonoRails一个开源的.NETMVC框架

(3)微软公司的新作-Asp.netMvc()

(4)优势:

1)汲取MonoRails的精华

2)收编MVC大牛,博众家所长,07年底搞出一个版本

3)集C#语言先进性(lambda、匿名类型和dynamic)

4)生产力更高

1.4第一个ASP.NETMVC程序1.4.1(现场展示)

(1)步骤

1.创建ASP.NETMVC项目

2.创建Controller控制器

3.创建View视图

(2)引用:

mvc架构实战_三层架构和mvc的区别_mvc webapi架构搭建

(3)Content文件夹:

(4)Controllers文件夹:

(5)Models文件夹:

注:与三层结构的Models不同,他里可以放实体类、数据访问类和业务类等等

(6)Scripts文件夹:

mvc架构实战_三层架构和mvc的区别_mvc webapi架构搭建

(7)Views文件夹

mvc webapi架构搭建_mvc架构实战_三层架构和mvc的区别

(8)Shared文件夹

三层架构和mvc的区别_mvc webapi架构搭建_mvc架构实战

注:任何控制器找不到的视图都会去找Shared下面的

(9)Web.config

mvc webapi架构搭建_三层架构和mvc的区别_mvc架构实战

(10)Global.asax

mvc webapi架构搭建_mvc架构实战_三层架构和mvc的区别

注:应用程序启动时做一些任务

1.4.2代码详解

(1)Global.asax——应用程序启动注册路由

当我对这个网站发出请求时,他是如何把我引到对应的控制器及里面的Action方法?

答:首先网站一启动,会提前加载根据控制器和Action方法设置的路由规则,

这样一请求,路由就会分析之后把你引到对应的控制器和Action方法

三层架构和mvc的区别_mvc webapi架构搭建_mvc架构实战

三层架构和mvc的区别_mvc架构实战_mvc webapi架构搭建

(2)控制器

mvc webapi架构搭建_mvc架构实战_三层架构和mvc的区别

1)根据前面的解析三层架构和mvc的区别,每次请求都是先定位控制器,然后再根据路由规则找到对应的Action方法!

2)但是在路由表里,我们只写了Home,但是MVC框架约定,控制器都是以Controller结尾,并继承了基类Controller!

3)在这里Index方法返回值类型是ActionResult,方法名和路由注册的方法名一致,在Index方法内,调用了View方法并且返回,这是一个重载的方法,可以给个参数,作为返回视图的名称,如果没有参数,默认就是以当前Action命名的视图。

4)也就是Asp.netMVC架构三层架构和mvc的区别,不像Java的MVC通过配置来建立关系,他是约定大于配置。

(3)视图

1)视图里的代码类似于之前的ASPX里面的代码,主要是HTML、JS和CSS等前端技术构成,

从MVC1.0到MVC5.0变化很大,razor语法越来越完善,强大!

(4)向视图传递数据

1)传统的方式,前置页面类和后置代码类是继承的关系,可以直接进行数据传递

2)MVC模式下,视图和控制器是完全分离的,通过专用渠道

ViewData,在控制器和视图之间传递数据的容器之一

1.4.3ASP.NETMVC执行顺序

三层架构和mvc的区别_mvc webapi架构搭建_mvc架构实战

1.5MVC初步应用1.5.1实现学籍管理系统的登录

mvc webapi架构搭建_mvc架构实战_三层架构和mvc的区别

(1)特别不建议大家在视图中使用Web服务器端控件

1)优点:事件模型支持,所见即所得!

2)缺点:效率低,Html代码不纯粹!

1.5.2ASP.NETMVC执行过程

mvc架构实战_三层架构和mvc的区别_mvc webapi架构搭建

1.5.3Model和三层架构

注意:在MVC中如果它不属于View也不属于Controller,那么就把它归到Model中

(1)MVC与三层架构之间有没有区别?

1)MVC和三层架构没有必然的关系,架构的思想是不一样的

2)三层架构强调特理分离(多个项目构成),MVC强调逻辑分离(一个项目构成)

3)MVC中也可以体现三层架构

4)有些MVC企业框架为了方便管理,会故意把Model做分层设计

mvc webapi架构搭建_mvc架构实战_三层架构和mvc的区别

1.6MVC与ASP.NET1.6.1ASP.NET与ASP.NETMVC

(1)ASP.NETMVC是ASP.NET技术的子集

(2)它在核心ASP.NET基础之上构建

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688