APP下载

ASP.NET MVC架构与Web开发工作探析

2021-12-17苏扬

电脑知识与技术 2021年33期

苏扬

摘要:随着互联网的快速发展,软件产业也在蓬勃发展。与此同时,软件系统的构架方法也多种多样,而MVC则是目前发展最好的软件构架方法。与其他的软件构架方法相比,MVC则是运用了表示层、业务层和数据层等所形成的复合型结构实现了计算机的控制器以及视图功能,更为系统安全。该文将介绍ASP.NET MVC架构,分析了解MVC架构与Web的开发设计,并就MVC架构在ASP.Net站点开发所具有的意义进行探讨。

关键词:ASP.NET站点;MVC架构;Web开发;开发效率

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2021)33-0053-02

开放科学(资源服务)标识码(OSID):

1 前言

MVC架构是三个英文单词的首字母缩写,译为模型、视图、控制器,是近年来十分流行的一种软件架构方式,也可以称为模式。MVC架构同时也是一种开发的概念,大大提高了软件的开发速度和质量,也提高了软件的可维护性。而ASP.NET作为NET Framework的重要组成,实际上是微软公司新开发的用以开发Web的平台,能够满足企业级Web的应用程序的需求。因为ASP.NET是运用通用语言来进行编译运行的,所以它可以支持面向对象的编程语言的操作。MVC的设计模式将前端视图显示、业务和控制逻辑进行了分离,使得对于应用程序的控制更为方便,又保证了系统能够平稳运行,提高了可拓展性。

2 ASP.NET MVC架构

2.1 MVC架构的相关介绍

MVC架构的主要内容如其名字所示,分为三个组成部分:Model(模型)、View(视图)、Controller(控制器)。这三个组件之间都有给彼此提供的接口,用以实现这三个组件的通信与同步。

2.1.1模型(MODEL)

模型的范围太广,不够准确,用“数据模型”来阐述MVC架构的这一組件则更为贴切。正如Model本身所具有的含义所示,它主管的部分也是与数据有关。具体来说,Model可以定义数据的结构,与数据库进行交互,判断数据的信息格式正误以及对数据信息进行加工处理等与数据相关的操作任务。那么,什么是数据库呢?就是指保存在磁盘中的关于程序的数据文件。而Model就是数据库中数据的抽象。还有查询信息、添加数据信息、更新数据以及删除数据信息等有关操作也都需要在Model层进行操作。形象地介绍一下就是Model相当于ASP.NET的命名空间。

2.1.2视图(VIEW)

视图,具体来说就是页面视图,是ASP.NET程序的交互界面,主要提供与用户输入信息和输出信息给用户的相关服务。一个Web页面可以由一个或多个视图所组成,而一个复杂的Web页面内容可能会来自多个数据源。与此同时,.aspx页面是视图在ASP.NET站点中的保存。这样,相关编辑人员和美工人员就可以在设计时仅处理相应的.aspx页面。

2.1.3控制器(CONTROLLER)

控制器的作用除了可以与用户交互以外,还具有处理业务逻辑的功能,在软件操作中发挥着重要的作用。它既能够在Model层读取所需的数据,又能够控制信息在页面视图中的显示。与此同时,在发生异常的情况时,控制器可以在相关的界面进行响应。

2.2 MVC所具有的相关优势

MVC架构相比于其他的架构方式所独具有的优势分主要为三个方面。

2.2.1良好的拓展性

因为MVC是基于管道所进行设计的,因而具有良好的拓展性。它可以实现通过路径引导、处理HTTP请求以及URL解析返回浏览器等一系列措施进行运行。

2.2.2定义拦截器

通过HttpModule类的形式来定义的拦截器可以通过解析目标Controller类型和Action名称,明确具体位置,激活目标控制器,执行相应的Action方法一系列操作定义HttpHandler。还同时激活控制器以及运行Action方法。

2.2.3功能模块分层

从Action方法的执行到最后页面视图的显示这个过程不会直接进行,而是通过将其转换为HTML的形式进行,并且最终会以HTTP响应的方式返回到客户端的浏览器。而这个过程中,MVC架构将复杂的逻辑进行分离。然后,再对分离出的相对更简单、也更单一的逻辑进行逐层关注,也就是分层处理相应的流程。将系统依据不同的运行功能分层,划入三层类库中去。这种方法在大型架构的开发方面具有的优势更为明显,大大促进了团队分工,降低了开发的难度,与此同时,也使得系统更为可靠安全。

3 ASP.NET MVC架构与Web的相关设计

3.1系统设计

MVC架构在系统设计方面涵盖广泛。其中,办公系统更是涉及方方面面。

我们可以先对系统设计的背景先进行一定的了解。系统的开发环境是Visual Studio 2010,运用的是SQLSERVER2008R2的数据库,ASP.NET MVC架构,在.aspx的文件中得到视图部分,JS框架,CSS框架,客户端验证,动态页签,数据表格等相关技术应用于视图的前端。其中,aspx.cs的后台代码文件也可以在页面控制器中进行应用。而Framework则用来提供和业务没有关系的底层通用机制以及相关功能。而Model基类则可以提供传输数据以及底层的最基本的基类以及接口。HttpModule则可以应用于管道模块中去。其中,将各个应用以及网站系统分为三个层次:表示层、业务层以及数据访问层。与此同时,将管道模块的通用功能应用到这三个层次当中去。其中,需要业务层以及数据层的共同作用来实现Model的功能。

个人方面的办公管理,审批流程的建立,收发公文告示等,下属任务的发布,相关知识文档的建立,应用的拓展,客户关系的需要,进账、销账、存账之类的管理,还有项目、人力、生产、信息、组织、系统方面的管理以及附件程序等多个功能都可以通过MVC架构来实现。从一定程度上来说,这种办公系统将办公系统,客户关系管理系统以及人力资源管理系统都融入了进来,使MVC架构用以系统的设计十分全面,满足了系统设计的需求。

3.2 MVC架构的具体设计

在控制器方面,为了快速完成对客户端请求的处理,控制器就相应地定义了许多个控制器类来进行。其中,对于控制权限的请求,可以通过控制器中的RoleController来实现管理。这样,系统中的每一个用户的控制权限的请求都对应一个command。与此同时,每一个command都对应一个控制器类,因而Controller类就能够实现对客户端的总控功能。

在页面视图方面,控制器在对调用模型方面的业务进行处理后会将结果展现在页面视图上,而与此同时,在权限管理方面的相关功能则会最终显示在Role视图下的Edit.aspx当中。

4 MVC架构在ASP.NET站点开发所具有的意义

起初,创建MVC模式主要就是为了简化软件的开发过程。1979年提出的MVC架构,在Smalltalk程序设计语言中进行相关的应用。而且,在当时的时代发展背景下,Smalltalk也是十分热门的程序设计语言。MVC架构将业务逻辑和数据表示进行了分离,这就使得程序的编写过程具有了模块化的特点,而与此同时,程序的可维护性也随之大大提高。

4.1降低开发的复杂程度

通过将业务逻辑层以及数据显示层进行分离,将站点开发中的复杂难度降低。在设计基于Web的应用程序时,一般情况下对于用户界面逻辑需求的相关修改要远多于业务逻辑层方面的修改。也就是说,当基于Web的应用程序写好以后,用户很可能对用户界面提出一些修改要求。当然,这些要求可能会影响已经做好的页面布局。但是,如果利用MVC架构,就可以减少因改动而引起的其他層次的结构内容也要进行的修改。可以做到在修改页面视图的同时不影响数据和业务逻辑,这样既解决了问题,也将代码的编写难度简单化了。

4.2提高代码的可维护性

因为模型、视图和控制器都是相互独立、相对分离的,当改动数据层或者业务规则时其他方面也不会受影响。例如,原来系统的数据库使用的是MySQL,现在需要变更了,那么只要将模型Model进行更改就可以将数据库迁移到SQL Server的数据库中去。这样,只要Model模型中的设置是正确的,那么视图就不会受到数据源指向的影响,从而将结果正确地显示出来。

4.3提高代码的重用率

如果将多个视图共用一个数据模型,那么程序代码的重用率就会得到很大的提高。而MVC架构就实现了这一点。例如,需要用到业务逻辑层的用户信息查询地址,那么就可以通过直接调用Model中的方法来实现。

4.4方便团队的分工合作

MVC架构可以让团队的分工合作更容易,从而有效地提高了软件的质量和开发速度。其中,很大一部分的数据模型和存储过程等都可以通过使用相关的工具自动完成。而在控制器方面,因为控制器系统的业务逻辑关系,要求控制器的性能要比较稳定。所以,控制器这部分一般要交给有经验的编程技术人员来完成,而与此同时,视图部分一般也要交给系统分析人员以及站点的美工人员来完成。

4.5提高了开发的效率

ASP.NET MVC架构可以使用Visual Studio进行软件的开发,与此同时,ASP.NET也支持加载插件功能的使用,因而大大提高了开发人员的编码效率。并且,可以采用MVC结构+代码自动生成器的技术架构,从而减少了编码的程序员的工作量。

5 小结

其实,MVC架构颠覆了传统的ASP程序开发的模式,不仅广泛应用于ASE.NET的开发,在PHP、Java等的程序语言在用来开发软件系统时也会首先选用MVC架构。本文也从MVC架构的三个方面进行介绍,并简单地介绍了MVC架构中的一些相关技术。不难看出,MVC架构在软件开发方面所具有的优势。MVC架构的使用可以大大地提高程序员的编码效率,减少编码工作量,并提高程序软件的质量以及可维护性,提高开发的效率。同时,也可以增强程序软件开发中团队分工,团队合作的能力。

参考文献:

[1] 韩潇影,刘峰民.基于ASP.NET MVC架构的省级气象预警信息平台[J].软件,2020,41(9):112-114.

[2] 孙涛.基于ASP.NET MVC架构的病例管理系统的设计与实现[D].沈阳:东北大学,2017.

[3] 王勃.基于ASP.NET中MVC三层架构结合的Web设计[J].智能城市,2016,2(12):225.

[4] 王素芳,胡必波.基于多层架构的ASP.NET 4 MVC框架研究[J].电脑与电信,2015(10):64-66.

[5] 向宁.基于ASP.NET MVC架构模式的迎新系统的设计与实现[J].现代商业,2015(17):63-64.

[6] 何银川,朱胜利.基于ASP.NET MVC的多层架构的OA系统的设计与实现[J].现代计算机(专业版),2013(11):58-64.

【通联编辑:唐一东】