学术堂首页 | 文献求助论文范文 | 论文题目 | 参考文献 | 开题报告 | 论文格式 | 摘要提纲 | 论文致谢 | 论文查重 | 论文答辩 | 论文发表 | 期刊杂志 | 论文写作 | 论文PPT
学术堂专业论文学习平台您当前的位置:学术堂 > 计算机论文 > asp论文

ASP.NET MVC框架的结构特点及其工作原理

来源:学术堂 作者:周老师
发布于:2015-08-06 共2972字
摘要

  ASP.NET MVC 是微软官方提供的以MVC模式为基础的ASP.NETWeb应用程序(Web Application)框架,它的出现极大促进了WEB模式的应用和发展。但是不同的平台和不同的语言框架对MVC的定义各有不同,并没有一个明确的定义。本文重点介绍了MVC模式与ASP.NET MVC框架的结构特点及其工作原理。

  1 MVC模式概述

  MVC即模型、视图、控制器,是Model、View、Control英文单词的缩写,它首先于20世纪70年代在Smalltalk---80平台设计中作为构建用户界面架构的一种开发软件系统。MVC是网站系统最常用的一种设计模式,已经逐步成为设计Web系统的一种标准,并得到广泛的应用。MVC将每一个软件系统分为三个核心部分 :模型层、视图层和控制层。它们之间不存在明显的层次结构关系和上下层间的依赖关系,而是各自处理自己的任务。同时Model和View几乎又是相对独立的, 要通过Controller进行连接。对于每个MVC结构,其重要部分是控制器;View作为一种视图引擎,可提供多种选择,同时它决定了程序给用户展示什么样的界面;Model决定系统的功能,它的内部有一些常用的类或者其它用来实现特定接口的类。在具体使用的过程中,应用程序要遵循预定的规则:将“输入、处理和输出”三者分离,即把MVC应用程序重新规划成模型、视图与控制器三部分,同时这三个部分要求独立完成各自的任务。

  2 MVC的特点

  MVC模式的优势非常明显:(1)具备多个视图对应一个模型的能力,从而减少了代码的复制, 易于维护;(2)MVC模型将一个应用系统被分离成三层, 这样只需要改变应用程序中的一层就可以满足应用系统所发生的改变;(3)由于控制层包括了用户的请求权限,因此不同的视图和模型组合在一起能够响应不同的请求;(4)可以将这个模型架构,用于其他界面的设计,具有推动作用。但是将MVC模式应用于不同开发环境中或用户有特殊需求时,也反映出以下几个方面的不足:(1)对于比较简单的界面,还被要求遵守MVC规则,将程序的三部分-模型、视图和控制器分离,会增大结构的复杂度,降低程序运行效率;(2)由于控制器与视图之间的密切联系,会在一定程度上妨碍它们的独立性;(3)因为模型的接口并不完全相同,为了得到一定的数据显示,在操作时视图就会需要进行多次的交互尝试,频繁的访问对操作性有害,造成访问效率低下。

  3 ASP.NET MVC的工作原理

  ASP.NET MVC架构是以ASP.NET平台为基础,它结合了MVC设计模式,具有结构清晰,扩展性好等特点。ASP.NET MVC设计模式把整个软件系统分为3个基本部分: ASP.NET模型,ASP.NET视图和 ASP.NET控制器。模型部分主要负责应用程序的数据逻辑;视图部分定义屏幕上的显示,表示用户的数据流向;控制器定义对用户请求的响应方式,进而把用户的请求变成对Medel的命令,最后来更新View的数据,反映系统的变化。

  3.1 模型(Model)。模型作为MVC架构的重要组成部分,包括系统程序的逻辑关系和计算功能, 并且封装了关键数据。模型不仅能对系统程序中的数据和业务规则部分进行显示,而且提供了处理问题的操作流程。除此之外,模型与视图间保持着一对多的关系,一个模型可以对应多个视图,并且能为视图提供访问数据的操作过程, 去获取视图进行显示所必需的数据。3.2 视图(View)。视图作为用户与系统间的交互界面,主要负责接收模型层的数据流,即是将用户或者系统的请求发送给Model进行处理,模型再结合用户的要求完成相应的操作,再传递给View进行显示。视图中不存在任何业务处理代码,视图在本质上可以看做是一个可以输出数据、用户能够进行操作的界面。另外,一个视图只能对应一个控制器。视图在集成开发环境中,以ASP.NET为基础通过对控件的拖动来实现页面的开发。3.3 控制器(Controller)。控制器作为连接Model和View的桥梁,是MVC模式的中间部分,它负责接收用户的输入,按照用户的数据进行响应。即控制器对模型、视图部分进行交互协调,使模块和相应的视图相互匹配,进行相应的操作,最后向视图输出数据并且呈现处理结果的视图,进而完成用户的请求。在ASP.NET MVC中,用户的请求都会被路由到对应的控制器,该控制器负责解释请求、操纵模型,然后把选择响应的视图进行传输。ASP .NETMVC的运行目录组织默认有三个顶层次的, 分别为: /模型内容目录, /视图内容目录次 和/控制内容目录。控制器被置于/Controllers目录当中,数据模型类放在/Models目录当中, 视图模板放在/Views 目录当中。然而ASP.NET MVC架构并不一定使用这种结构, 因为它是默认的。控制器类的命名一定要以Cont roller为尾, 同时每个控制器类都要求在/Views目录中有一个对应的子目录, 命名要遵循子目录和控制器类相一致的原则。在运行ASP.NET MVC应用程序后,会发现访问不同的ASP.NET MVC应用程序页面时,其URL路径并不会呈现相应的。aspx后缀。同样当访问相应的ASP.NET MVC应用程序页面, 在服务器中并不存在对应的页面。

  为了了解如何实现页面映射,就需要了解ASP.NET MVC应用程序的运行流程。在ASP.NET MVC程序中,应用程序通过Global.ascx和Controllers实现了URL映射。当用户进行ASP.NET MVC程序的页面请求时,该请求首先会会被发送到Controllers控制器中, 开发人员能够在控制器 Con-trollers中创建相应的变量并将请求发送到Views视图中,Views视图会使用在Controllers控制器中通过编程方式创建相应的变量并呈现页面在浏览器中。当用户在浏览器中对Web应用进行不同的页面请求时,该运行过程将会循环反复。对于Models而言,Controller通常情况下使用Models读取数据库。在Models中,Models能够将传统的关系型数据库映射成面向对象的开发模型,开发人员能够使用面向对象的思想进行数据库的数据存取。Controllers从Model中读取数据并存储在相应的变量中。在用户进行页面请求时, 首先这个请求会发送到Controllers中,Controllers从Models中读取相应的数据并填充Controllers中的变量,Controllers接受相应请求再将请求发送到Views中,Views通过获取Controllers中的变量的值进行整合并生成相应的页面到用户浏览器中。在Models中需要将数据库抽象成面向对象中的一个对象,开发人员能够使用LINQ进行数据库的抽象,这样就能够方便的将数据库中的数据抽象成相应的对象并通过对象的方法进行数据的存取和更新。

  结束语

  ASP.NET MVC 架构的推出,使程序结构更加清晰、灵活,极大地提高了程序的可测试性和代码的重用性。可以看出ASP.NET MVC在Web应用开发中专业性强,优势突出,充分的利用它能很好的解决Web开发中遇到的问题。在应用开发的过程中,只要能有效解除对象之间耦合性的方法就值得采用设计模式,框架作为实现模式的一种载体,同一模式可适用于不同框架,各框架之间存在的只是开发技术上的个体差异。由此可见,框架既能有效,约束开发人员的开发方式,也能强迫开发人员按照一种“更优架构”的方式来设计和开发应用程序。

  参考文献

  [1]张正礼。ASP.NETMVC4 架构实现与项目实战[M].北京:清华大学,2014.

  [2]宣帅。NET 平台下 MVC 框架应用研究[D].南京:南京航空航天大学,2010.

  [3]陈友良,盛可军,王阳阳。基于 ASP.NET 三层结构软件的研究与开发[D].北京:中国安全生产科学研究院。

  [4]方柯。基于 ASP.NETMVC 框架的 Web 应用开发研究[D].上海:华东师范大学。

  [5]代锐锋。基于 ASP_NET 的核与辐射应急管理信息系统的设计与实现[D].成都:电子科技大学。

  [6]欧阳海波。基于 ASP.NETMVCB/S 架构的任务管理[C].成都:电子科技大学。

相关标签:asp毕业论文
  • 报警平台
  • 网络监察
  • 备案信息
  • 举报中心
  • 传播文明
  • 诚信网站