论文部分内容阅读
摘要:本文首先在对MVC的设计模式和信息管理系统等概念分析和理解的基础上,综合了J2EE、EJB、JSP等技术,阐述MVC的设计模式是如何运用到信息管理系统中去。文章还以具体的系统为例子说明如何运用MVC的设计模式来划分模型、视图与控制器三个不同的组件。
关键词:MVC的设计模式;信息管理系统
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)33-1284-02
Realization and Research of MVC Pattern in the information management system
LIAO Yue-jun
(NanBo Occupation and Technique College of DongGuan,computer technology department,Dongguan 523080, China)
Abstract: On the basis of the analysis and understanding of the MVC design pattern and information management system, with the help of J2EE, EJB and JSP etc., the thesis explains how the MVC design pattern apply to the information management system. Also the thesis gives an example of concrete system to show how to use MVC to divide model, view and controlle.
Key words: MVC design pattern; information management system
1 MVC设计模式
在目前国内的面向中小型电子政务的Web应用程序设计中,以单纯的ASP/JSP/Servlet代码构建的基于服务器端运行的系统占大多数。但上述系统有一个共同的缺陷,就是当业务逻辑越来越复杂的时候,系统构建所带来的复杂度和所耗费的成本将进一步提升,由于结构的不清晰所带来的系统可读性也进一步降低,后期的维护和扩展难度进一步增加. 鉴于此,在J2EE领域,业界通常采用在Servlet集成一些可复用的组件比如EJB等以及采用MVC的设计模式,来使得系统结构清晰化,以及实现软件的可复用、可扩展和高效率。
MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,可以使多个视图共享一个模型,模型响应用户请求并返回响应数据,视图负责格式化数据并把她们呈现给用户,它很好的实现了数据层、业务逻辑层与表示层的分离。MVC作为一种开发模型,通常用于分布式应用系统的设计和分析中,以及用于确定系统各部分间的组织关系。对于界面设计可变性的需求,MVC(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器三种部件。
视图部件是用户看到并与之交互的界面,它把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图,并能接收用户的输入数据,但是它并不能进行任何的实际业务处理。
控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件,比如说当WEB用户单击WEB页面种的提交按钮来发送HTML表单时,控制器便接收请求并调用请求相应的模型组件区处理请求,然后调用相应的视图来显示模型返回的数据。
模型部件保存由视图显示,由控制器控制的数据,它是应用程序的主体部分;它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和I/O操作;模型组件包括了业务数据和业务逻辑,一个模型可以为多个视图提供数据,正由于此同一个模型可以被多个视图重用,故提高了软件代码的可重用性。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图1所示。
2 MVC在系统中的实现设计
在实现基于MVC的系统开发应用中,首先我们在设计阶段要完成的有以下五步工作,如图2所示。
2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。
3) 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。
4) 最后MVC设计模式还有利于软件工程化管理。由于不同的组件各司其职,每一组件不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
MVC的不足之处表现在以下几个方面:
1) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2) 视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
3) 视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
以上三个方面是MVC设计模式在系统设计与开发过程中存在的不足之处,也是我们进一步探讨和研究的重点。
参考文献:
[1] 王映辉,等. 基于MVC 的软件界面体系结构研究与实现[M]. 成都:计算机应用研究, 2004.
[2] 谢小乐,朱福喜,余振坤. J2EE经典实例详解[M]. 北京:北京人邮电出版社, 2003.
关键词:MVC的设计模式;信息管理系统
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)33-1284-02
Realization and Research of MVC Pattern in the information management system
LIAO Yue-jun
(NanBo Occupation and Technique College of DongGuan,computer technology department,Dongguan 523080, China)
Abstract: On the basis of the analysis and understanding of the MVC design pattern and information management system, with the help of J2EE, EJB and JSP etc., the thesis explains how the MVC design pattern apply to the information management system. Also the thesis gives an example of concrete system to show how to use MVC to divide model, view and controlle.
Key words: MVC design pattern; information management system
1 MVC设计模式
在目前国内的面向中小型电子政务的Web应用程序设计中,以单纯的ASP/JSP/Servlet代码构建的基于服务器端运行的系统占大多数。但上述系统有一个共同的缺陷,就是当业务逻辑越来越复杂的时候,系统构建所带来的复杂度和所耗费的成本将进一步提升,由于结构的不清晰所带来的系统可读性也进一步降低,后期的维护和扩展难度进一步增加. 鉴于此,在J2EE领域,业界通常采用在Servlet集成一些可复用的组件比如EJB等以及采用MVC的设计模式,来使得系统结构清晰化,以及实现软件的可复用、可扩展和高效率。
MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,是许多交互和界面系统的构成基础。MVC结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,可以使多个视图共享一个模型,模型响应用户请求并返回响应数据,视图负责格式化数据并把她们呈现给用户,它很好的实现了数据层、业务逻辑层与表示层的分离。MVC作为一种开发模型,通常用于分布式应用系统的设计和分析中,以及用于确定系统各部分间的组织关系。对于界面设计可变性的需求,MVC(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器三种部件。
视图部件是用户看到并与之交互的界面,它把表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图,并能接收用户的输入数据,但是它并不能进行任何的实际业务处理。
控制器部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件,比如说当WEB用户单击WEB页面种的提交按钮来发送HTML表单时,控制器便接收请求并调用请求相应的模型组件区处理请求,然后调用相应的视图来显示模型返回的数据。
模型部件保存由视图显示,由控制器控制的数据,它是应用程序的主体部分;它封装了问题的核心数据、逻辑和功能的计算关系,它独立于具体的界面表达和I/O操作;模型组件包括了业务数据和业务逻辑,一个模型可以为多个视图提供数据,正由于此同一个模型可以被多个视图重用,故提高了软件代码的可重用性。
模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图1所示。
2 MVC在系统中的实现设计
在实现基于MVC的系统开发应用中,首先我们在设计阶段要完成的有以下五步工作,如图2所示。

2) 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。
3) 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。
4) 最后MVC设计模式还有利于软件工程化管理。由于不同的组件各司其职,每一组件不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。
MVC的不足之处表现在以下几个方面:
1) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2) 视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
3) 视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
以上三个方面是MVC设计模式在系统设计与开发过程中存在的不足之处,也是我们进一步探讨和研究的重点。
参考文献:
[1] 王映辉,等. 基于MVC 的软件界面体系结构研究与实现[M]. 成都:计算机应用研究, 2004.
[2] 谢小乐,朱福喜,余振坤. J2EE经典实例详解[M]. 北京:北京人邮电出版社, 2003.