admin 管理员组

文章数量: 1184232


2024年3月14日发(作者:python online ide)

龙源期刊网

MVC设计模式及其在信息系统开发中的应

作者:周辉 任海军 马亮 王丹宁

来源:《软件导刊》2012年第10期

摘要:MVC设计模式是基于Web应用开发的首选模式,当前许多流行的框架都是基于

MVC设计模式的。介绍了MVC设计模式,并对该框架各个层次的组成、功能进行了详细的

描述,讲述了基于MVC设计模式的工作原理和工作流程,并用实例来说明如何理解和应用

MVC设计模式,帮助开发人员更好地理解和使用MVC。

关键词:MVC;WEB;信息系统

中图分类号:TP319文献标识码:A文章编号:1672-7800(2012)010-0120-03

基金项目:中国地震局监测预报司2012年度“三结合”项目(2012)

作者简介:周辉(1981-),男,硕士,中国地震局第二监测中心助理工程师,研究方向

为地震网络信息管理及相关系统软件开发。

0引言

模型-视图-控制器(MVC)是XeroxPARC在20世纪80年代为编程语言Smalltalk-80发明

的一种软件设计模式,至今已被广泛使用。各种基于MVC设计思路的开发环境也随处可见,

例如SUN公司的Jsp+Servlet+JavaBean(EJB),Mircosoft公司的Framework,

以及PHP官方框架ZendFramework等。Web应用的快速增加和Web应用复杂度的提高,MVC

这一设计模式逐渐被Web系统应用开发所采用,尤其在大型的复杂的信息系统中采用这种模

式来进行开发,可以大大减小软件系统开发过程的开发难度,提高开发效率,降低开发风险。

1MVC概念

MVC是设计开发Web信息系统的程序架构,是Model-View-Controller缩写,Model即模

型,View即视图,Controller即控制器。一个应用都可以把它分成3个部分:Model、View和

Controller,每个部分负责不同的功能,3个部分之间既有区别又有联系,这3个部分结合起来

完成信息系统应用。按照软件高内聚、低耦合的设计要求,整个系统又可以划分为若干功能独

立的模块,各个模块都可以用Model、View和Controller来进行刻画,

2MVC功能

龙源期刊网

MVC使Web应用程序的输入、处理和输出分开进行,每个环节都由数据模型、视图和控

制器来完成。

2.1模型的作用

数据模型通常也叫做模型,它跟Web系统所选择的数据库类型紧密相关,针对每种数据

库可以编写一套模型去访问和操作数据库,它是按照一定的规则抽象出来的,数据模型的设计

是MVC最重要的核心,对于开发者来说,一切业务都需要建立在数据支持的基础上,所以数

据模型不仅仅是针对数据库的操作,而且还要对业务数据的完备性进行检查等。

2.2视图的作用

对于用户来说,视图就是用户看到的网页程序页面,用户可以通过页面请求需要的信息,

也可以进行输入,来完成和信息系统的交互;对于开发人员来说,视图就是要展示给用户一个

窗口,通常接受用户在页面操作中完成和用户的交互,通过页面得到用户的操作和输入,然后

通过处理再由页面反馈给用户。

视图是HTML代码编写用于显示给用户的文件,同一种风格的文件通常被抽象成模板,

一种模板通常完成一类信息的输出。同一种操作可以调用不同的模板来呈现出不同的效果,这

也是MVC模式的一个特点,用户既可以用PC访问,也可以通过智能终端访问。同样的一种

请求,可能得到不同的页面显示。

2.3控制器的作用

控制器主要是用来响应程序页面发送过来的请求,通过传递参数给数据模型,组织用户所

关心的数据,然后再把数据通过程序页面返回给用户,完成用户的请求。控制器是视图和数据

模型之间的一个桥梁,负责二者之间交互。

3MVC架构及其工作原理

3.1MVC架构

如图1所示为Model、View、Controller三者之间的结构示意图,其中在Model中定义了

访问数据库的各种访问方式,例如查询、删除、修改等,开发人员可以定义针对不同类型数据

库的数据模型;在View中定义用户关心的数据显示方式,例如以表格来显示用户关心的数据

等,View中还可以定义供给用户与信息系统交互的接口,例如通过表单让用户输入信息,

View提供了灵活的显示方式,可以对不同的终端访问显示不同的页面布局,例如使用手机浏

览者看到的页面与使用个人电脑浏览者所看到页面不同,但他们所请求的数据都来自于同一个

数据库中,通常情况下View都会定义成一个个的模板文件以供Controller调用;在Controller

中定义与业务逻辑相关的各种方法,每种方法都会完成一个特定操作,而这种操作都会与

View中的模板文件对应起来,通过用户的请求或者输入来完成业务逻辑。

龙源期刊网

3.2工作流程

用户通过终端(计算机或手持设备),输入URL来访问信息系统,信息系统收到请求

后,通过判断终端类型返回默认的页面给用户,用户在看到默认页面后通过相应的输入或者点

击来操作信息系统,信息系统通过视图与用户交互,控制器接受视图页面的请求并通过数据模

型在数据库中组织相对应的数据,最后通过调用视图中的模板文件返回并显示给用户。用户每

次的请求过程如图2所示,这就是采用MVC开发模式的系统工作流程。

4MVC在流动观测动态监控管理系统开发中的应用

流动形变监测管理系统是针对全国流动形变观测开发的Web信息系统,主要是对GPS测

量,相对重力测量和水准测量作业进行管理和动态监测的准实时系统,是基于MVC开发的

Web信息管理系统,使用的是LAMP(Linux-Apache-MySQL-PHP)网站架构,该框架包括:

操作系统Linux,Web服务器Apache,编程语言PHP,数据库MySQL,所有组成软件均是开

源软件,是国际上成熟、流行的架构框架,很多流行的商业应用都是采取这个架构,LAMP架

构的优点是开源、免费,系统可扩展性、灵活性和可靠性都比较好。和其他架构相比,LAMP

具有Web资源丰富、轻量、快速开发、跨平台、高性能的优势,因此LAMP是搭建网站的首

选平台。

4.1模型(Model)

系统使用的MySQL数据库,首先要做的是对数据库进行模型化,使信息系统和数据库之

间有个中间层,对整个数据库的访问、查询、删除、修改操作等进行模型化,例如在本系统中

对MySQL数据操作的模型如下:

对数据库进行模型化简化了对数据库的操作,在数据库IP或用户发生变化时只需修改一

处便可正常进行访问,另外,还可以针对不同的数据库抽象成不同的模型,例如,针对Oracle

数据库可以建立这样一套访问模型,这样就可以实现在不同数据库之间的切换,而不必修改其

他地方,同时也对于代码的复用提供了基础。

4.2控制器

4.3视图

上面提到了两个视图文件即group_和group_,前者是让用户填写表

单来完成对小组信息的收集,后者是表单信息填写完成后用户向系统提交成功后返回所有小组

的信息。如图3所示。

每一个小的操作都有一个模板文件(即视图)来显示结果,表现层和控制层是被分离开

的,同时还可以针对

龙源期刊网

不同的用户或者中端来编写不同的模板文件,从而达到不同的表现效果。

5结语

MVC设计模式有效地将数据层、控制层、表现层分离开来,让开发人员更容易理解Web

系统的工作方式。模型文件、控制器文件和模板文件分开书写,提高了程序的可读性;针对不

同的数据库编写不同的模型文件,提高了代码的复用性;业务逻辑开发人员只需编写控制器文

件,前端开发人员表现层的模板文件,降低了程序开发的风险,在一定程度上也解决了开发人

员不足的情况。

在全国流动观测动态监控管理系统的开发过程中,中国地震局第二监测中心科技信息室开

发人员有限,因而分时段对整个系统采用MVC设计模式的思路来布置任务,集中力量先后对

数据层、业务层、表现层代码进行了编写,降低了开发难度,提高了开发效率,规避了软件开

发过程中风险,目前系统处于试运行阶段,收到了比较好的效果。在开发过程中,如果信息系

统想使用MVC设计模式,那就必须从软件的架构方面重新进行设计,这带来了额外的工作量

和复杂性,但是MVC会使整个软件在健壮性、代码重用和结构方面登上一个新的台阶。

参考文献:

[1]马忠超.零基础学PHP[M].北京:机械工业出版社,2008.

[2]seModel-View-Controller(MVC)[OL].http://st-

/users/smarch/st-docs/,1992.

[3]薛峰,梁峰,徐书勋,等.基于SpringMVC框架的Web研究与应用[J].合肥工业大学学

报:自然科学版,2012(3).

[4]计三有,赵艳芳,仇艳丽,等.基于SpringMVC框架的Web研究与应用[J].物流工程与

管理,2012(2).

[5]王丹宁.地震科学数据共享网站开发技术研究[J].电脑编程技巧与维护,2009(2).

[6]周辉,马亮,王文青,等.基于.NET的流动GPS观测辅助系统设计与实现[J].电子设计

工程,2011(22).

(责任编辑:杜能钢)


本文标签: 用户 开发 页面 系统 进行