APP下载

MVC设计模式在Web开发中的研究与应用

2015-03-17禹,苏

关键词:程序开发设计模式服务器端

宫 禹,苏 丹

(黑龙江省科学院)

0 引言

近年来随着软件开发技术的不断进步,人们和企业对软件的使用要求不仅局限于软件的实现功能,软件开发人员在软件开发的过程中也不仅仅将实现软件功能作为软件开发的最终目标.人们、企业和软件开发人员在注重软件的基本功能外,还注重软件的基本性能,包括软件的安全性、灵活性、软件的升级与维护等.因此,J2EE技术应运而生,随着J2EE技术的日趋成熟,J2EE技术中MVC设计模式逐渐成为软件开发人员使用最多的软件设计模型,特别是在Web软件系统的开发中,MVC设计模式不仅提高了Web模式的维护性、扩展性还降低了软件开发的成本.

1 MVC设计模式概述

对于Web应用程序来说,MVC设计模式就是将应用程序抽象为输入、处理、输出三个部分.在这三个部分中,模型层可以看做是应用程序的业务流程层,这一层主要处理的是应用程序的业务流程和业务数据,它对用户是不可见的,用户只在视图层请求并得到应用程序返回的结果,这一操作是怎么处理的,用户并不用知道,由此不难看出,模型层是MVC设计模式的核心,它可以为多个视图提供所需要的数据,这也间接的说明了模型具有重用性.视图层是用户交互的界面,是用户和应用程序之间信息、数据交流的媒介,在Web应用程序中它的界面主要是HTML,视图层也可以进行数据的收集和处理,但仅限于在视图本身层面上来进行,它不能像模型层那样对业务数据和业务流程进行操作,但是它可以查看业务流程层中的数据,不能修改.控制器层主要是将模型和视图进行选择和连接,它的作用相当于一个分发器,就是根据接收到的用户的请求信息,将不同类型的模型和视图进行连接,完成用户的请求,在这里值得注意的是,模型与视图间的关系是多对多的.

2 MVC设计模式的优缺点

2.1 MVC设计模式的优点

MVC设计模式具有高耦合、重用性高、移植性好的特点.在软件设计和开发的过程中,用户需求有时会改变,当用户的需求发生改变时,MVC设计模式只需改变模型层,控制器层与视图层不需改变,当有新的应用平台出现时,程序开发人员可以将模型直接移植到新的应用平台中,对其视图和控制器做简单的修改即可,这也方便了代码的维护工作,提高了工作效率.

2.2 MVC设计模式的缺点

MVC设计模式的使用给程序开发人员带来了方便,但MVC设计模式也存在着一些不足.例如,在MVC设计模式中视图与控制器虽然分开,但联系紧密,没有了控制器,视图的功能会受到一定的限制,视图访问模型的效率并不高,这是由于在模型层,模型中包含许多接口,视图有时需要多次调用数据才能获得用户所需要的数据所造成的,这就简单产生了视图会访问不会发生变化的数据等现象,降低了系统的性能.

但总体来看,MVC设计模式给应用程序的开发工作带来了前所未有的突破,程序开发人员应深入的了解MVC设计模式的相关知识并加以利用,使MVC设计模式可以更好的在各个领域发挥其应有的作用.

3 Web应用程序开发中MVC设计模式的改进

由上述内容可知,传统的MVC设计模式将应用程序划分为三个部分,但在开发Web应用程序过程中程序开发人员会根据Web应用程序的不同场合对MVC设计模式进行相应的改进,以便可以更好的发挥其作用.在传统的Web应用程序中MVC设计模式使应用程序的交互过程趋于浏览器-控制器-视图-浏览器、浏览器-控制器-模型-视图-浏览器这两种方式,这两种方式虽然使系统的开发和维护变得较为方便,但它增大了Web应用程序对网络带宽的需求量,增加了服务器端的任务量,视图部分也不能进行部分更新.

程序开发人员因此对MVC设计模式又进行了进一步的改进,服务器端与客户端混合型MVC设计模式,这种模式的交互过程有三种方式,第一种方式为浏览器-客户端控制器-客户端视图-浏览器、第二种方式是在客户端视图进行交互前,先访问服务器端视图和客户端视图、第三种方式是在客户端视图进行交互前,先访问服务器端控制器、模型、服务器端视图,再访问客户端视图、最后将结果返还给浏览器.

虽然这种方式解决了传统Web应用程序中MVC设计模式中的缺陷,但它不能实现页面的刷新、业务流程和业务数据的处理也不能在客户端进行.近年来,在Web应用程序开发过程中,RIA-MVC设计模式逐渐被人们加以运用,RIA-MVC设计模式将模型组件放在服务器端,而视图和控制器组件被放在客户端,这种方式使用户可以在客户端完成页面的部分更新、降低了服务器的负载,降低了Web应用程序对网络带宽的占用率,上述三种方式都有各自的优点与缺点.第一种和第二种方式也没有被完全摒弃,所以,程序开发人员在对应用程序进行划分使要根据软件的功能及性能选择好相应的模型.

4 结束语

综上所述,了解了MVC设计模式的基本概念和设计思想,MVC设计模式就是将应用程序抽象为三个部分,这三个部分都有自己的工作任务,但相互协作,为应用程序提供服务,保证了应用程序的正常运行.还知道了MVC设计模式有哪些优缺点,虽然MVC设计模式存在缺点,但它给应用程序的开发带来的影响是良性的,这就需要软件设计者在对MVC模式进行划分时要从软件的整体结构、实现功能、非功能性等方面进行综合的考量,MVC设计模式在Web应用程序开发时会根据应用程序的不同会对其进行相应的改进.总之,MVC设计模式可以使应用程序具有较高的安全性、灵活性,相信在不久的将来,NVC设计模式会将软件领域带入一个新的台阶.

[1]张利,吴传胜,崔雷,等.应用MVC模式构建Web信息系统框架研究[J].合肥工业大学学报:自然科学版,2007(7):113-115.

[2]李灵华,何丽君.MVC设计模式在Web应用程序开发中的研究[J].大连民族学院学报,2007(1):67-70.

[3]田小波,陈蜀宇.MVC设计模式在J2EE架构下的研究与应用[J].西华大学学报:自然科学版,2007(2):138-145.

[4]涂婷婷,段凡丁.MVC设计模式在B/S开发中的研究与应用[J].计算机技术与发展,2007(5):234-240.

猜你喜欢

程序开发设计模式服务器端
“1+1”作业设计模式的实践探索
浅析大学生在兼职小程序开发中遇到的问题
Linux环境下基于Socket的数据传输软件设计
三维协同设计模式下的航天项目管理实践与展望
APP应用程序开发模式探究
交通机电工程设计模式创新探讨
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计