一个初学者对于MVC架构的理解

我很早之前就开始接触.NET开发,一直都在2.0的框架下,所以对于MVC这种架构,听说过,但没有具体使用过,近期和外部朋友接触时,有了解到他们公司在使用MVC这种架构,所以自己就找来相关资料了解一下MVC是什么。

MVC代表着”MODEL”、”VIEW”、”CONTROLLER” 。ASP.NET MVC是一种与传统ASP.NET WEB开发不同的架构。使用MVC开发的WEB应用程序,对搜索引擎更加友好。

使用MVC模式开发,需要Microsoft .NET Framework 3.5以上的框架。

MVC是如何与浏览器进行交互的

和普通的WEB服务器交互一样,MVC程序使用一样的方式接受请求并返回信息给到浏览器。

MVC架构内部

完整的ASP.NET MVC架构是基于Microsoft .NET Framework 3.5,另外还使用LINQ。

MODEL是什么?

1. MVC MODEL基本上就是一个C#或者VB.NET的类。

2. MODEL将同时被CONTROLLER和VIEW访问。

3. MODEL被CONTROLLER用来传输数据给到VIEW层。

4. VIEW层将使用MODEL来在页面上显示数据。

VIEW是什么?

1. VIEW层主要都是一些ASPX页面文件,他们不包括后台代码。

2. 在VIEW层中可以对所有的页面,进行HTML生成和格式化。

3. 可以在VIEW层中使用内联代码,进行动态页面开发。

4. VIEW层中的ASPX页面的请求,只能调用CONTROLLER中的方法。

CONTROLLER是什么?

1. Controller基本上都是一些继承了system.mvc.controller的C#或者VB.NET的类。

2. Controller是整个MVC架构的核心。

3. 在Controller类中的方法都是用来相应浏览器或者VIEW层的请求。

4. Controller将使用MODEL层来向VIEW层的页面传输数据。

5. Controoler使用VIEWDATA来传输任何数据给到VIEW层。

MVC文件结构和文件的命名规范。

MVC程序开发中,使用标准的文件目录结构和文件命名标准是非常重要的。

在程序的根目录,必须要有3个目录,分别是Model, View 和 Controller。

与普通的ASP.NET程序一样,这三个目录之外,根目录下面也必须有一个Global.asax文件和一个Web.Config文件。

Root [directory]

· Controller [directory]

o Controller CS files

· Models [directory]

o Model CS files

· Views [directory]

o View aspx/ascx files

· Global.asax

· Web.config

ASP.NET MVC的运行生命周期

下面是一个MVC架构程序如何执行浏览器的请求。

下面图形所涉及到的每一步执行的说明。

第一步,浏览器请求。

用户在浏览器中,输入一个网址:http://xxx.com/home/index/,这时候就产生一个浏览器请求。

第二步,Global.asax的作用,MVC路由。

这个网址将首先被Global.asax文件中的application_start()方法捕获并解释。从请求的网址中,将解释出控制器,方法,和ID。

所以http://xxx.com/home/index/中,我们将得到:

l 控制器:home

l 方法:index()

l ID:空

第三步,Controller层与调用方法。

现在MVC将在Controller目录下查找home控制器的类。一个控制器类中包含不同的方法。

类中可以包含一个以上的方法,但是MVC只会请求从URL中解释出来的方法,在这里就是index()方法。

调用这个方法后,将返回纯字符串或者将被VIEW层展示的HTML代码。

第四步,调用VIEW层。

调用VIEW将返回view()。调用VIEW层,将会访问view目录下指定的ASPX页面,并且生成将要返回给浏览器的HTML代码。

在这个例子中,控制器是home,方法是index()。所以调用view()将会从/views/home/index.aspx中返回一个HTML代码。

到这里,整个执行流程结束。这就是一个MVC架构如何工作的。

时间: 2024-11-05 12:25:57

一个初学者对于MVC架构的理解的相关文章

初学者对于MVC架构模式学习与理解

理解MVC的工作原理,明白一个网页是如何显示出来的 之前一直盲目的在慕课上看视频,脑袋里想着要理解mvc,看了mvc相关的视频,看完之后就觉得空白白的,M,V,C各代表什么我知道,但是这个究竟有啥意思,是要干嘛的,工作原理是什么,一直都还处于迷茫状态,现在回顾起来觉得自己太盲目的去看视频,没有带任何的问题,没有目的性的去看,脑袋也没有思考,所以看完就是空白白的,今天又把MVC看了一小部分,突然就豁然开朗了,或许是我带着思考和想法去看了,只是初学者最简单的理解 之前写过一篇.net网站开发流程,上

MVC架构模式分析与设计(一)---简单的mvc架构

首先 我要感谢慕课网的老师提供视频资料 http://www.imooc.com/learn/69 下面我来进行笔记 我们制作一个简单的mvc架构 制作第一个控制器 testController.class.php <?php /** * */ class testController { function show(){ // 控制器的作用是调用模型,冰调用视图,将模型产生的数据传递到视图 // 让相关视图去显示 echo "hello world"; } } 制作第一个模型

作为一个初学者如何简单地理解闭包

闭包最直接的定义:函数可以记住并访问所在的词法作用域时,就产生了闭包,即使这个函数是在当前词法作用域之外执行的. 如下代码: function foo() { var a = 1; function bar() { console.log(a); } bar(); } foo(); // 1 kyle给的一个定义,首先给人的第一感觉就是,这不就是在说作用域的查找规则吗?因为就算一个初学者不懂闭包,依然能理解这种结果,原因很简单,因为bar函数是嵌套在foo函数中.确切来说,这并不算是闭包.这种作

java MVC架构-spring mvc,struct2(理解)

MVC架构实现基础: 基于filter或者servlet实现请求地址分析,如果需要控制类处理请求,则调用相应的控制类.调用控制类时,根据配置文件初始化控制类相关的参数.数据库连接可持久化存在.控制类处理完毕,返回数据以及模板文件,渲染模板文件,返回给客户端.步骤简化,则有4步:1.按照配置文件或者注解,初始化所有的控制类,完成url和控制类的映射:2.接收请求,判断使用的控制类:3.注入控制类或方法需要的参数,调用对应的控制类或方法处理,返回数据和模板文件地址:4.根据返回的数据和模板文件地址,

MVC架构简介及其测试策略

最近在WEB端测试工作中陷入了瓶颈,单纯的手动功能测试在没有成熟的代码规范之前还是很容易坑的,WEB自动化测试一时半会还没有什么进展,所以决定先学习一下网站用的MVC架构,跟着教程写了一个小网站,大概也找到了WEB测试工作的几个突破口. MVC即为按照分层解耦的思想,将网站结构分成了Model(模型)-View(视图)-Controller(控制器)三层架构,三层架构的职责如下: Model层:是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据:简单来说,就是在Mod

【JAVA】基于MVC架构Java技术荟萃案例演练

基于JAVA-MVC技术的顾客管理项目案例总结 作者 白宁超 2016年6月9日22:47:08 阅读前瞻:本文源于对javaweb相关技术和资料汇总,涉及大量javaweb基础技术诸如:Servlet运行原理.Get/Post请求的区别.jsp的基本原理和运行框架.jsp的9大隐含对象的使用.MVC开发模式的使用.构建封装自己dao代码库.以及基于MVC的增删改查操作等:小结最后还有面向接口编程的多数据源配置与存储,以及工厂模式的使用.除此之外,后续文章会对cookie.session.Jav

ExtJS 4 MVC架构讲解

大规模客户端应用通常不好实现不好组织也不好维护,因为功能和人力的不断增加,这些应用的规模很快就会超出掌控能力,ExtJS 4 带来了一个新的应用架构,不但可以组织代码,还可以减少实现的内容新的应用架构遵照一个类MVC的模式,模型(Models)和控制器(Controllers)首次被引入.业界有很多种MVC架构,基本大同小异,ExtJS 4的定义如下: Model模型 是字段和它们的数据的集合,例如User模型带有username和password字段,模型知道如何持久化自己的数据,并且可以和其

MVVM架构的理解

最早的时候,只知道MVC(模型+视图+控制器). 把数据的管理与显示分开, 通过控制器实现管理与显示之间的互动, 方便开发与复用. 美好的事情总是很快发生, 在6月份接手的项目中,看到这样的代码, 把视图显示和数据处理的代码放在ViewController里面, 这连MVC 的标准都不是. 之前我经常这样用,把数据单独一层来处理, 然后在数据层里面实现数据的持久化(本地化), 这层就是通常锁说的 S .所用架构就是 MVC S MVC S 通过把数据存储抽离, 是对MVC做的简化. 不管用到MV

MVC架构模式

MVC架构模式 参考: MVC框架_百度百科https://baike.baidu.com/item/MVC%E6%A1%86%E6%9E%B6/9241230?fr=aladdin MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被