ASP.NET MVC框架的结构特点及其工作原理_第1页
ASP.NET MVC框架的结构特点及其工作原理_第2页
ASP.NET MVC框架的结构特点及其工作原理_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP.NETMVC框架的构造特点及其工作原理ASP.NETMVC框架的构造特点及其工作原理本文关键词:工作原理,框架,构造,ASP,NET

ASP.NETMVC框架的构造特点及其工作原理本文简介:ASP.NETMVC是微软官方提供的以MVC形式为根底的ASP.NETWeb应用程序〔WebApplication〕框架,它的出现极大促进了WEB形式的应用和开展。但是不同的平台和不同的语言框架对MVC的定义各有不同,并没有一个明确的定义。本文重点介绍了MVC形式与ASP.NETMVC框架的构造特点

ASP.NETMVC框架的构造特点及其工作原理本文内容:

ASP.NETMVC是微软官方提供的以MVC形式为根底的ASP.NETWeb应用程序〔WebApplication〕框架,它的出现极大促进了WEB形式的应用和开展。但是不同的平台和不同的语言框架对MVC的定义各有不同,并没有一个明确的定义。本文重点介绍了MVC形式与ASP.NETMVC框架的构造特点及其工作原理。

1MVC形式概述

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

2MVC的特点

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

3ASP.NETMVC的工作原理

ASP.NETMVC架构是以ASP.NET平台为根底,它结合了MVC设计形式,具有构造明晰,扩展性好等特点。ASP.NETMVC设计形式把整个软件系统分为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.NETMVC中,用户的恳求都会被路由到对应的控制器,该控制器负责解释恳求、操纵模型,然后把选择响应的视图进展传输。ASP.NETMVC的运行目录组织默认有三个顶层次的,分别为:/模型内容目录,/视图内容目录次和/控制内容目录。控制器被置于/Controllers目录当中,数据模型类放在/Models目录当中,视图模板放在/Views目录当中。然而ASP.NETMVC架构并不一定使用这种构造,因为它是默认的。控制器类的命名一定要以Controller为尾,同时每个控制器类都要求在/Views目录中有一个对应的子目录,命名要遵循子目录和控制器类相一致的原那么。在运行ASP.NETMVC应用程序后,会发现访问不同的ASP.NETMVC应用程序页面时,其URL途径并不会呈现相应的。aspx后缀。同样当访问相应的ASP.NETMVC应用程序页面,在效劳器中并不存在对应的页面。

为了理解如何实现页面映射,就需要理解ASP.NETMVC应用程序的运行流程。在ASP.NETMVC程序中,应用程序通过Global.ascx和Controllers实现了URL映射。当用户进展ASP.NETMVC程序的页面恳求时,该恳求首先会会被发送到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.NETMVC架构的推出,使程序构造更加明晰、灵敏,极大地进步了程序的可测试性和代码的重用性。可以看出ASP.NETMVC在Web应用开发中专业性强,优势突出,充分的利用它能很好的解决Web开发中遇到的问题。在应用开发的过程中,只要能有效解除对象之间耦合性的方法就值得采用设计形式,框架作为实现形式的一种载体,同一形式可适用于不同框架,各框架之间存在的只是开发技术上的个体差异。由此可见,框架既能有效,约束开发人员的开发方式,也能强迫开发人员按照一种"更优架构";的方式来设计和开发应用程序。

参考文献

【1】张正礼。ASP.NETMVC4架构实现与工程实战[M].北京:清华大学,2022.

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

【3】陈友良,盛可军,王阳阳。基于ASP.NET三层构造软件的研究与开发[D].北京:中国平安消费科学研究院。

【4】方柯。基于ASP.NETMVC框架的Web应用开发研究[D].

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论