APP下载

基于经典MVC架构的实现Web应用系统设计与实现

2017-04-25张睿涵辽宁锦州渤海大学信息科学与技术学院

数码世界 2017年4期
关键词:设计模式视图架构

张睿涵 辽宁锦州渤海大学信息科学与技术学院

基于经典MVC架构的实现Web应用系统设计与实现

张睿涵 辽宁锦州渤海大学信息科学与技术学院

MVC设计架构是一种经典的软件设计模式,并广泛应用于Web应用系统开发过程,本文分析讨论面向对象的MVC设计模式,分析该设计模式基本原理和构成机制,并将MVC设计架构融入到本文的系统开发过程中。通过对MVC设计模式的研究,本文讲述MVC设计架构的应用系统开发原理及优缺点,基于MVC设计架构的开发软件应用系统的流程,并基于MVC设计架构实现光盘发布应用系统模型,将MVC设计架构应用于JSP开发技术中。经过本文研究的系统可以充分使用MVC设计架构。

MVC设计架构 Web应用系统 J2EE平台 光盘发布 JSP技术

1 引言

随着Web应用系统的使用不断增多的现象,对于Web应用系统的开发与设计使用MVC设计架构,开发Web应用系统无论选择什么编程语言,无论应用系统业务功能流程多复杂,都可成为应用系统所提供通用设计模式框架,为了构造通用应用系统提供基本的设计框架。本文通过对光盘发布应用系统的实践,深入研究基于MVC设计架构的Web应用系统。

本文涉及到的MVC设计模式(模型M一视图V一控制器C),这种设计模式堪称软件设计的经典模式。每个系统的用户界面,负责显示系统数据和与用户交互操作的功能。用户希望与应用系统之间保持交互操作顺畅,用户希望系统能呈现动态改变内容或者其他展现形式,这就要求系统需要满足用户界面需求的同时,系统逻辑模型独立于用户界面的组成,MVC开发模型使得类对象的强制分离,因此,实现Web应用系统基于MVC设计模式作为一种层次结构分离的模型是最佳的选择,Web应用系统的设计、开发和维护变得非常灵活,极大地提高了模块之间的重用性。

2 MVC设计模式概述

2.1 MVC的基本设计思想

Model、View和Controller的简称,即是MVC。需要将一个应用系统的输入、数据加工处理和输出过程均是按照这个流程方式实现业务功能的分离,应用系统形成以模型、视图和控制三层的软件架构。

模型层(Model):负责处理业务/状态的处理过程以及业务规则定义。业务状态处理流程对于其他层而言模糊操作,模型层接受来自视图层用户请求的数据处理过程,并为用户返回有关的处理结果。

视图层(Viewer):负责用户数据交互操作界面,因此,对于Web应用系统而言,基本上为HTML实现的网页,但是,也可以将XHTML、XML和Applet等技术应用到HTML网页前端。通常情况下,应用系统可能存在多种不同的视图层,通过MVC设计模式实现的系统,视图的作用负责对页面控件数据的采集和系统处理数据的显示,即负责接收来自用户请求以及显示处理结果的功能,而不负责在视图层的业务功能处理过程。应用系统的业务流程处理过程交给模型层处理。

控制层(Controller)完成的是从用户获取请求操作,负责模型与视图建立联系,共同完成用户请求操作。它属于控制调度层,它负责清楚地告诉程序员,它完全是控制转发器,选择哪种模型,就负责处理哪种视图,也就完成哪种用户请求。在MVC设计模式中,控制层并不需要做任何的业务数据处理。当用户点击某个功能连接时,控制层接受来自用户的请求之后,并不需要处理业务数据,它只负责找到相匹配的模型的函数,并将参数传递该模型车的函数,并告诉应该做什么,当模型层处理完毕业务数据控制层接收来自于模型层的处理结果,并把符合要求的处理结果返回到视图层为用户显示。因此,模型层与视图层是一对多的关系。

在MVC设计思想中的核心是业务功能模型的设计。业务模型层设计过程中数据模型。数据模型主要完成数据持久化操作,是指实体对象与表字段一一映射关系。例如:将淘宝订单数据保存到系统的数据库中,或者从系统的数据库获取淘宝订单数据。可以将此模型单独罗列,全部的数据库操作仅仅限于该模型中,为用户提供相关服务。

2.2 基于MVC设计模式开发应用系统的优点

此前的Web应用系统将业务数据处理与结果显示置于同一个页面的编程方式,这种方式使得程序编写与调试变得麻烦,而基于MVC设计模式实现的应用系统设计,具备下列的优点:

(1)模型层与视图层是一对多的关系。一个模型与多个视图建立联系。可以确保全部相关的视图及时获得来自于模型层数据的变化,使得全部相关的视图与控制层实现操作同步。

(2)视图与控制器实现灵活对接,允许新修改视图与控制层之间关联的业务数据,而且重要的是可以实现需求动态更改相互的关联,例如:打开、修改或者关闭等操作。

(3)模型的可移植性与可重用性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。

(4)使用MVC设计思想的应用系统具有清晰的软件结构。大多数应用系统都可以实现的MVC三层架构设计,正因如此,方便基于此设计模式建立一种可以通用框架结构,不局限于视图设计过程中,而且还可以用在系统总体布局或者局部功能设计。

(5)便于应用系统规划管理。在MVC架构设计中,由于不同层职责不同,每层具体应用又存在相似的特征,便于应用系统规划管理、管理程序代码,极大提高应用系统编程效率。

(6)有利于应用系统的功能扩展与维护操作。一个应用系统被设计为3层架构模式,有时改变某层需求就能满足用户。例如:某个应用系统的业务流程设计或者业务规则定义的改变只需修改MVC结构中的模型层即可。

3 基于MVC的Web应用系统的设计

根据MVC的基本设计,基于MVC实现的应用系统设计首先要获取系统应用的需求,设计应用系统的MVC结构,即将其按照系统功能设计MVC的三层结构,前提需要充分了解系统的全部需求。这里所阐述的应用系统实例是本人日常工作中所负责软件项目部分—随书光盘发布应用系统的设计与开发。设计该系统的目的完成非图书资源在高校内的发布情况,以方便广大师生借阅使用。

3.1 应用系统的需求分析

通过对高校很多师生及系统的管理人员的需求展开调查分析,并总结出光盘发布应用系统主要功能功能包括:

(1)前台业务管理功能。为高校很多师生提供业务服务功能,主要有图书检索、电子资料下载、某些特殊资源开放申请功能以及师生留言等功能。

(2)后台综合业务管理功能。该功能是系统管理员实现管理、发布某些资源提供便利的渠道。主要包括:发布与更新电子资料功能、不定期的电子数据批量导入功能、处理审核审批功能以及数据备份与恢复操作。

3.2 数据库设计

根据应用系统的功能实际需求,主要实体是图书表以及光盘发布记录表等等。根据数据库设计原理获取表的概念模型,因此,图书表(book)转换的对应关系主要包括:bookID(图书序号)、bookName(图书名称)、bookType(图书分类信息)、bookT(中英文对照)、bookD(是否具有电子资源)、bookask(图发布申请字段)等。

3.3 构建基于MVC设计模式的系统模型

根据MVC设计模式,使用数学参考模型表示MVC设计实现的应用系统:

A表示应用系统的简称,M、V、C分别MVC设计模式中的三层结构,R表示用户请求列表,正是,根据该数学参考模型,最后将确定的光盘发布应用系统的全部功能进行划分层次。

(1)系统将直接与用户交互的模块划分到视图层V列表中。

(2)把数据库逻辑处理部分划分到模型层M列表中,把数据库的建立连接管理、数据检索功能(包含:目录分类检索、初步数据检索、高级数据检索)以及数据更新操作管理(发布与更新电子资料功能、不定期的电子数据批量导入功能、处理审核审批功能以及数据备份与恢复操作)划分到模型层M列表中。

(3)来自于用户请求处理并调用对应业务逻辑关系,并将业务处理结果返回视图层为用户页面显示,负责收集处理结果和控制转发由控制层实现。

4 基于MVC设计模式的Web应用系统的实现

建立应用系统的MVC设计模式之后,方可选择适用的开发工具实现系统的开发工作。本文根据实际情况选择了JSP技术、Servlet技术和JavaBeans技术的结合。

4.1 实现应用系统的技术组合

JSP技术、Servlet技术和JavaBeans技术的结合是MVC设计模式的经典应用,三者的结合可以更好地实现MVC设计模型的应用系统。

(1)应用系统的模型层。它是由JavaBean对象组件完成,并将业务数据封装到其中。

(2)应用系统的视图层。它是由JSP技术负责实现页面数据的显示功能。

(3)应用系统的控制层。它是由Servlets技术接受来自于用户输入请求以及某个操作的提交,并根据相应的请求操作,调用相应业务逻辑处理组件,并收集处理结果转发给相应的视图层页面显示。

4.2 实现Web应用系统

上述已经对光盘发布应用系统的技术架构分析、功能需求分析以及数据库结构分析,而三种技术的组合更好的完成了MVC设计思想。为此,三种技术的结合有效的完成映射操作。将应用系统模型层的各种业务处理逻辑通过使用JavaBeans对象组件实现,本文实现的应用系统的数据库采用SQL2005管理技术;视图层采用JSP技术每个功能界面;同时控制层的编写通过Servlets控制器实现接受请求和处理结果的转发操作:在应用系统的实现过程中,使用JS作为前端判断技术,用于表单字段的判断及数据输入的标准性判断。

5 本文结论与未来研究方向

基于MVC设计模式开发实现的光盘发布应用系统,由于其应用到MVC设计模式存在的优势,应用系统中持久层、模型层、业务处理层与显示层有效分离,好处是:一是在开发过程中,便于多人协作编码,又便于系统的设计文档编写工作,提高多人共同开发的效率;二是应用系统上线运行之后的升级维护操作必不可少,用户希望与应用系统之间保持交互操作顺畅,对应用系统的功能扩展与维护变得简单可行。基于MVC设计的应用系统正被更多的人使用,如果时一种通用设计框架,为开发者带来更多的开发便利,提高应用系统的代码可重用性提供了新的契机。

[1]宋国庆.软件开发综合训练教程基于JavaWeb应用[M].北京:高等教育出版社,2008

[2]王映辉,王英杰,王彦君,等.基于MVC的软件界面体系结构研究与实现[J].计算机应用研究,2004(9):188-199

[3]孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发[M].北京:电子工业出版社,2004

[4]刘春花,王忠民.基于MVC模式的远程评议系统的设计与实现[J].计算机工程与设计,2008,29(13):3648

[5]王晓楠.MVC的设计和实现[J].计算机系统应用,2004(3):56-58

猜你喜欢

设计模式视图架构
基于FPGA的RNN硬件加速架构
设计模式识别的特征信息分类研究
“1+1”作业设计模式的实践探索
功能架构在电子电气架构开发中的应用和实践
智慧图书馆环境下的融贯式服务设计模式研究
三维协同设计模式下的航天项目管理实践与展望
构建富有活力和效率的社会治理架构
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图