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).
(责任编辑:杜能钢)
版权声明:本文标题:MVC设计模式及其在信息系统开发中的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1710377910a570344.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论