版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于MVCC实现的电电子政务系系统摘要 随随着计算机机和信息技技术的迅速速发展,网网络己经成成为我们日日常生活、学习和工工作的基础设设施。各种种基于网络络的分布式式办公系统统层出不穷穷,电子政政务系统就就是其中之一。电子子政务系统统利用网络络可以将各各种资源进进行有效的的组合,迅迅速提高政政务活动的效率,是是政府部门门进行信息息化建设的的重要途径径。迅速发发展,不断断变化的经经济、社会内容决定定了电子政政务系统必必须能够满满足政务活活动的多变变性。因此此如何使电电子政务系统能够具具有最大的的可扩展性性和重用性性就成为电电子政务系系统开发中中必须重视视和解决的问题。MVC设计计模式的核核心思想就
2、就是分层设设计,将显显示逻辑、业务逻辑辑以及流程程控制相互分离,分分离不同的的层次,分分为模型层层(Moddel)、视图层(Yieww)、控制制器(Conttrolller)。各层次之之间相互独独立,接口口清晰,祸祸合度低,模模块间具有有较大的独独立性,从而而增强了系系统的可维维护性和可可扩展性。通过分层层设计,各各个层次的的模块可由不同的开开发人员开开发,独立立层次的模模块扩展也也将对其他他层次模块块的影响降降为最低。这种特特性恰恰满满足了电子子政务系统统开发的需需要。特别别是J2EEE平台出出现之后,提供了各种种成熟且功功能强大的的组件和容容器技术。程序开发发人员可以以利用这些些成熟的组件
3、和容器器技术,使使之担任MMVC各层层次中的各各个角色,降降低了系统统开发的难难度,提高了系统开开发的效率率。Strruts架架构作为一一种基于JJ2EE平平台的框架架,具体实实现了MVC模式式。Strruts提提供不同的的组件工作作于不同的的层次,担担任不同的的角色,并并提供了丰富的标签签库,大大大增强了对对视图层的的支持,从从而使电子子政务系统统的开发更更加便捷。论文从理论论上论述了了MVC模模式应用于于电子政务务系统设计计开发的意意义,对MMYC模式的原理理和组成结结构进行了了深入的分分析,介绍绍了实现MMVC模式式的Strruts框框架的各个组成部部分及控制制流程.最最后以作者者实习期
4、间间参与的上上海市人民民政府外事事办公室电子政务系系统的子系系统上海市因因公护照签签证管理信信息系统作作为开发实实例,具体体介绍了如何何将MVCC模式应用用于电子政政务系统设设计开发中中,以及在在设计各个个层次时应应该遵循的具具体规则和和注意事项项。并针对对于上海市市外事办公公室特殊的的网络环境境,成功解决了数据据同步的难难题。关键字:电电子政务,设设计模式,MMVC,SStrutts J2EEEAbstrract WWith the deveelopmment of tthe CCompuuter Scieence and the Infoormattion Techhnoloogy, th
5、enetwoork hhas bbecomme a kindd of basiic innfrasstruccturees inn ourr daiily llife. Kinnds oof syystemmsbasedd on netwwork appeearedd andd thee E-GGOV SSysteem iss onee of themm. Thhe E-GOV Systtemcan oorgannize all the infoormattion effeectivvely, shaare tthem amonng alll thhe deeparttmentts, aand
6、improove tthe wwork effiicienncy ggreattly, so iit iss a kkind of mmost impoortannt waay too buiild tthe EE-G4V. The conttent of eeconoomy aand ssocieety wwhichh is deveelopiing qquickkly hhas ddecidded tthatthe EE-GOVV Sysstem shouuld aalso satiisfy the channge oof thhe acctivee govvernmment. So it
7、 hhasbeen a prressiing ppmbleem hoow too makke thhe E-GOV Systtem mmuch moree exttensiive aand,reusaable.The MMVC ppatteern iis a kindd of layeers ppatteern. It sseparratess thee whoole sstruccturee inttoseverral LLayerrs: MMod呱VView and Conttrolller. All the layeers eexistts seeparaatelyy,阮innterff
8、aceamongg theem iss cleear aand mmake the coupplingg lowwest. So thiss chaaractterisstic satiisfiees thheneed of tthe EE-GOVV Sysstem. Esppeciaally it bbasess on the 12EEE plaatforrm whhich provvidesskindss of compponennts aand ccontaainerrs whhich the deveelopeers ccaa uuse tto bee thee rolles iin
9、MVVC.And iit maakes the deveelopmment muchh eassier and imprrovess thee effficieency greaatly. Strruts isa kinnd off fraamewoork bbasedd on the J2EEE plaatforrm annd reealizzes tthe MMVC ppatteern. Besiidesthesee Strruts givee us largge taag Jiibs aand iimprooves the suppport abouut Viiew.This papee
10、r inntrodducess thee advvantaages to aapplyy thee MVCC to the deveelopmment of EE-G4V SSysteem deeveloopmennt fiirstlly. TThen anallyze the struucturre, tthe ddetaiils oof thhe MVVCpatteern aand tthe mmain partts off Strruts frammeworrk whhich reallizess thee MVCC pattternn. Att lasstbasedd on the S
11、hannghaii Vissa annd Paasspoort MManaggemennt Innformmatioon Syystemm, a subssysteemof thhe Shhan沙aai E-Gov Systtem, the papeer inntrodducedd dettailss howw to use the MVC tteerndurinng thhe deevelaapmennt off thee sysstemss.Key wwordss: liiGov, Dessign Patttern, MVVC, SStrutts, JJ2EE第一章引言言1.1电子子政务系
12、统统开发发展展现状 220世纪990年代以以来,伴随随信息技术术的发展,信信息化已经经成为各国国普遍关注注的焦点问题。在国家信信息化建设设进程中,政政府信息化化又成为信信息化建设设的重点。电子政务是政府府信息化的的主要形式式,它是指指国家机关关在政务活活动中,全全面应用现现代信息技术、网络络技术,以以及办公自自动化技术术等,进行行办公、管管理和为社社会提供公公共服务的一种全新新的管理方方式。美国的电子子政务起源源于20世世纪90年年代初。11993年年,克林顿顿政府成立立了“国家绩效评估委委员会”,递交了了创建经经济高效的的政府和和运用信信息技术改改造政府两份报告,提提出应当用用先进的信信息网
13、络技技术克服美美国政府在在管理和提提供服务方方面所存在的弊端端,这使得得构建“电子政府府”成为美国国政府改革革的一个重重要方向,也也揭开了美国电子政政务建设的的序幕。为为保障政府府信息化发发展,美国国还制定了了一系列法法律法规,对政府府信息化发发展起着重重要的保障障和规范的的作用。我国电子政政务建设起起步较晚,22Q02年年下半年国国家也公布布了其纲领领性文件中共中央办公公厅、国务务院办公厅厅关于转发发(国家信信息化领导导小组关于于我国电子子政务建设指导意见见)的通知知.经过过几年的发发展,我国国的电子政政务系统发发展也取得得了长足的进步,已已经不再只只是政务管管理信息化化形式的一一种简单意意
14、义上的补补充1,不少rrr企业也将电电子政务系系统的设计计开发作为为自己的商商业范畴。例如神州州数码、方方正集团、浪潮集集团、沈阳阳东软软件件股份等企企业已经有有成熟的电电子政务系系统平台产产品投入实际应用。 电电子政务应应用系统,对对在机关政政务活动中中产生的信信息资源进进行采集、整合、管管理等操作,以以分布式的的结构结合合数据库技技术,对整整个信息资资源进行检检索、共享享。随着Web开开发技术发发展日趋成成熟,越来来越多的电电子政务应应用系统转转向基于浏浏览器的BIS系统统架构,逐逐渐舍弃复复杂的CIIS结构,从从而节省了了软件的开开发成本及及开发周期。通过构构建基于WWeb的分分布式电子
15、子政务应用用系统,实实现了各类类异构系统统的互通互联、各类类信息的全全面共享,最最终消除“信息孤岛岛”,达到政政务机关信信息共享化化与智能化的的目的22。1.2 MMVC模式式在电子政政务系统开开发应用中中的意义 电电子政务是是由网络技技术和电子子技术的进进步与创新新发展起来来的,因此此电子政务务系统的开发涉涉及到多项项技术的融融合,例如如:网络开开发技术、数据库技技术、信息息安全技术、中间件件技术、工工作流技术术等等,是是一个庞大大的系统工工程。加之之现在电子子政务系统软件的开开发没有标标准的规范范遵循,现现在很多电电子政务系系统结构混混乱,模块块体积庞大、效率低低、藕合度度高,代码码重用率
16、低低,从而导导致很多电电子政务系系统重复开开发,成本费用居高高不下,系系统功能可可扩展性差差,稳定性性和可靠性性低等弊端端。 近近年来,随随着网络技技术迅速发发展,J22EE平台台的日趋完完善及广泛泛应用,基基于BIS多层层体系结构构的Webb应用程序序已经成为为分布式软软件的首选选模式,强强烈的冲击击着传统的CC/S体系系结构。在在此大环境境下,电子子政务系统统的开发也也逐渐向BBIS模式式靠拢。随着面面向对象编编程技术的的深入发展展,出现了了多种框架架模型,简简化了应用用程序的开发。框架架式是可重重用的,可可以在他的的基础之上上开发特定定的应用程程序3,基于J2EE平平台的MvvC模式同同
17、样具有可可重用的特特性,为基基于B/SS的电子政政务系统的的开发提供完善的的框架,成成功的解决决了在电子子政务系统统开发中所所出现绝大大多数的问问题。 MMVC设计计模式是880年代SSmalllta1kk80出出现的一种种软件设计计模式,现现在已经被被广泛的使用用。MVCC的出现不不仅实现了了功能模块块和显示模模块的分离离,同时还还提高了应用系统的的可维护性性、可扩展展性、可移移植性和组组件的可复复用性。尽尽管MVCC设计模式很早就已已经被提出出,但在早早期的Weeb项目开开发中,程程序语言和和HTMLL的分离一一直难以实现现,而且脚脚本语言的的功能相对对较弱,缺缺乏支持MMVC设计计模式的
18、一一些必要的技术基础础,因此在在Web项项目的开发发中引入MMVC却是是步履维艰艰。直到基基于12EEE的3SP Modeel 2问问世时才得得以改观。它用JSSP技术实实现视图的的功能,用用Servvlet技技术实现控制器器的功能,用用JavaaBeannIEJBB技术实现现模型的功功能。 MMVC设计计模式成功功解决了应应用系统开开发过程中中所遇到的的主要弊端端,也为电电子政务系统的的开发提供供了较为完完善的解决决方案,得得到TT业业内的支持持。MVCC设计模式式的发展,具具体实现MMVC模式式的各种架架构也随之之出现,其其中不乏很很多开源框框架。Strutts框架就就是最为优优秀的一种种
19、,得到市市场的认可可,Strruts于于20011年7月正正式发布,当前的的版本是.2o Struuts提供供了构建基基于MVCC的应用程程序的基础础或框架,提提供了核心的的MVC功功能,并附附带了多个个JSP标标签库,因因此能够更更快、更轻轻松的开发发基于MVCC的Webb应用程序序。1.3本论论文的研究究目标和技技术路线 本本论文的研研究目标是是对Mvcc模式进行行深入研究究,论述MMvC模式式各个组成成部分(模型、视图、控控制器)在在软件开发发中所担当当的角色及及功能,将将MVC模模式与其他软件框架架模式进行行比较,深深入研究具具体实现MMVC框架架模型的SStrutts框架技技术,并将
20、其应用用于电子政政务应用系系统的开发发中,结合合J2EEE平台技术术,为电子子政务应用用系统的开发发提供标准准的MVCC框架开发发模式。本本文中使用用的开发实实例是上海海市外事办公室电子子政务系统统的子系统统上海市因因公护照签签证管理信信息系统,此此系统已经经成功部署运运行。1.4本论论文的组织织 本本文的组织织结构如下下: 第第一章引言言。主要讲讲述电子政政务系统开开发的现状状,以及MMvc设计计模式应用用于电子政务系系统开发的的现实意义义。 第第二章应用用系统的体体系结构。主要介绍绍应用系统统的一般体体系结构,如如传统cps的两两层体系结结构、Baas系统的的三层体系系结构以及及基于】22
21、EE平台台的多层体体系结构。并根据据对比给出出了电子政政务系统应应该采用多多层体系结结构的理由由。 第第三章应用用Struuts具体体实现MVVC模式。本章将对对设计模式式的概念、MVC设设计模式的核核心思想和和组成部分分以及具体体实现MVVC设计模模式的Sttrutss框架进行行论述,并详细细论述Sttrutss框架的核核心组件及及流程控制制等。 第四四章Mvcc模式在电电子政务系系统开发中中的实例。本章将以以上海市因因公护照签签证管理信息息系统为例例,具体研研究如何在在电子政务务系统设计计开发中具具体应用MMvc设计模式及其其具体实现现架构sr框架架。并介绍绍了系统本本身的功能能结构以及及
22、具体开发发中所解决的的难题。 第第五章总结结与展望。本章总结结全文,指指出本系统统设计的不不足及下一一步工作的的研究重点。第二章应应用系统体体系结构2.传统统CIS两两层体系结结构 在在应用程序序发展的早早期,由于于受到硬件件水平以及及网络发展展水平等外外界因素的的限制,以及对对分布式系系统没有过过高的要求求,传统的的应用系统统开发普遍遍采用crrs技术的细分分方法。22.3基于于J2EEE的Webb多层体系系结构 网网络的发展展迫切需要要有效的企企业系统的的开发,构构建出高质质量、高度度可用的企企业应用,多层层体系结构构应运而生生。客户机机不断被压压缩,逐渐渐被浏览器器所替代,因因此也促使在
23、进行行系统设计计开发过程程中更加注注重服务器器的设计与与开发,对对服务器进进行细分。在技术术方面,应应用服务器器技术和容容器组件技技术的出现现为企业级级网络的分分布式应用提供了优优秀的技术术支持,促促使了这种种趋势的发发展和完善善。 现在最最流行和实实用的分布布式系统开开发语言就就是Javvao JJava语语言从19995年出出现以来,根据据不同的市市场需要,己己经发展成成三个不同同的应用平平台:J22ME, IZSEE,J2EE.其中J22EE (Javaa 2 PPlatfform, Entterprrise F.citioon)是SSuu公司司联合多家家IT业业大型公司,把把所有与企企
24、业相关的的标准、AAPI进行行整合推出出的企业级级版本,是是一个开发分布式企企业级应用用的规范平平台,为程程序开发人人员提供了了一个多层层次的分布布式体系结构和一系系列开发技技术规范。其中多层层次分布式式体系结构构是指根据据功能把应应用逻辑再进行细分分,每个层层次支持相相应的服务务器和组件件,组件在在分布式服服务器的组组件容器中运行,容容器间通过过相关的协协议进行通通讯,实现现组件间的的相互调用用。J2EEE平台为为服务器端的的细分提供供了不同的的组件、容容器以及规规范,例如如JSP, Serrvlett组件及应应用服务器器容器,EEJB组件件及EJBB容器等等等,各种不不同的组件件及容器部部
25、署在不同同层次上,不同的的层次可以以部署在相相同服务器器或者不同同服务器上上。基于JJ2EE的的Web多多层体系结构图图如图2-3。图22-3 基基于J2EEE的Weeb多层体体系结构 客客户层可以以是桌面应应用程序,也也可以是基基于Webb的应用程程序,主要要负贵向最最终用户提供供友好的可可视化交互互界面。本本文主要研研究基于WWeb应用用系统的体体系结构,因此担担任客户层层角色的应应该为Weeb浏览器器(Webb Broowserr ),浏浏览器并不不具备完善的逻辑辑处理功能能,只是负负责发送请请求以及显显示响应结结果,可以以下载静态态的HTML页页面或者由由Web层层生成的动动态HTMM
26、L页面,属属于一种瘦瘦客户端。 WWeb层产产生表示逻逻辑。根据据用户请求求,接受请请求参数,并并调用业务务层处理单单元,在获得得处理结果果后动态生生成表示单单元返回给给客户层浏浏览器。JJ2EE平平台为Weeb层提供了JJSP, Servvlet组组件及Weeb容器应用服务务器。JSSP和Seervleet组件接接受用户请求,并并根据逻辑辑处理结果果产生动态态的显示页页面。应用用服务器则则负责对JJSP,Servllet等组组件的管理理工作。 业业务层主要要负责处理理应用的核核心业务逻逻辑,以满满足特定业业务领域的的业务逻辑辑处理需求。112EE平平台为业务务层提供了了EJB组组件及E11B
27、容器。E3B组组件可以接接收请求数据,对数数据进行复复杂的逻辑辑处理,如如有需要可可以将数据据发送到企企业信息系系统层进行持久化操操作,还可可以根据需需要检索数数据,返回回处理结果果。EJBB可以分为为三种:会会话Beann ( SSessiion BBeaa )、实体体Beann ( EEntitty Beean )、消息驱驱动Beaan ( MesssageDriveen Beean )。不同的的EJB负负责不同的的功能,统统一由EJJB容器管管理。通常常情况下,许许多企业应应用将Weeb层和业业务层一起起发布,称称为J2EEE服务器器。但ETTB本身也也存在内部部结构复杂杂、体积庞庞大的
28、缺点点,因此在在一般企业业级应用系系统中不建建议使用EJB作为为业务层的的处理组件件,而是建建议进行轻轻量级开发发。部分业业务逻辑处处理可以由由JavaBBean组组件以及应应用服务器器容器所代代替,从而而降低程序序开发难度度,但大型型企业应用仍然建建议使用EEJB组件件. 企企业信息系系统层(EEIS TTies)是处理企企业数据信信息的系统统软件,包包括ERPP、数据库系统等等等。主要要负责对企企业数据信信息的管理理、存储等等持久化工工作。本文文所要介绍的上海市市因公护照照签证管理理信息系统统主要采用用数据库系系统。 基基于J2EEE的Weeb多层体体系结构对对原来的服服务器端功功能模块进
29、进行了合理理的细分,并提供供了完善的的组件及容容器管理机机制,可以以有效地控控制因重复复开,增强强应用系统的重用性性,充分发发挥了面向向对象开发发的优势。J2EEE通过提供供统一的开开发平台,降低了开发发多层应用用系统的费费用和复杂杂度,同时时提供对现现有应用系系统集成的的有力支持【5】【66】。2.4电子政政务系统采采用基于JJ2EE Web多多层体系结结构的理由由 电电子政务系系统在实际际应用中的的易用性、健壮性、可重用性性、可扩展展性是系统统设计首先考虑虑的问题【77】。因此此既需要考考虑更好的的实现整个个系统的设设计开发,也也要考虑到系统整体体框架的特特性以及未未来的扩展展性。基于于J
30、2EEE的w多多层体系结结构所具有有如下优势,正正好满足了了电子政务务系统以上上要求: . JJ2EE利利用Javva平台来来简化企业业解决方案案的设计、开发、部部署和管理理等相关复杂问题题,也就具具备了Jaava语言言“一次编写写,到处运运行”的先天性性优势,112EE平台本身具具有平台无无关性I【88】。. 22. J22EE平台台提供了完完善的组件件,提高了了系统的重重用性。随随着经济的的迅速发展,社会内内容的不断断丰富,作作为社会的的管理者,政政府的管理理职能、地地位和管理理内容也再不断的的扩充变化化。电子政政务系统的的需求也随随之变化,因因此电子政政务系统对对重用性和可扩展展性的要求
31、求不断提高高。J2EEE平台利利用组件技技术和容器器技术提高高了系统模模块的重用用性,可以以方便的整整合原有的的电子政务务系统,避避免了不必必要的重复复开发。 33.易于部部属,实用用化。由于于基于IEEEE的WWeb多层层体系结构构压缩了客客户端的功能,属于于BIS结结构,在客客户端只需需要用户安安装Webb浏览器,而而且现在市市场上的主流操作系系统都会绑绑定安装浏浏览器。另另一方面,由由于业务的的不同,电电子政务系系统主要面向于政政府工作人人员,应用用系统对工工作人员的的计算机水水平不能要要求太高,直直接使用浏浏览器就可可以对电子子政务系统统进行熟练练的操作。基于JzzEE的WWeb多层层
32、体系结构构恰好满足了了用户此种种需求。 44.较强的的健壮性和和稳定性。电子政务务系统一旦旦部署实施施就需要全全天候运行行,因此需要较较强的稳定定性和健壮壮性。多层层次结构虽虽然不能保保证其中一一层出现问问题,其他层次不受受影响,但但最重要的的数据信息息作为单独独的一层进进行设计,可可以保证在在系统出现问题时时,原有的的重要数据据不会丢失失。此外,多多层体系结结构将服务务器端工作作负荷和业务逻辑辑分布到不不同层次上上进行,不不同层次的的模块单元元可以部署署在不同机机器上,避免了个别别机器工作作负荷太重重的现象,因因此降低了了系统出现现问题的可可能性,提提高了系统的稳定定性。 SS,节约系系统开
33、发成成本.首先先基于J22EE的WWeb多层层体系结构构使得开发发人员不再过多的关关注客户端端应用程序序的开发,只只是需要设设计用户交交户界面即即可,节省省了系统开发在时时间和人力力上的开销销。此外)2EE平平台为程序序开发人员员提供了友友好的功能能完善的组件件及其容器器,开发人人员可以从从内部细节节实现中解解脱出来,更更加关注系系统整体逻辑设计计。最后此此种体系结结构提高了了系统的重重用性和扩扩展性,可可以较好的的整合原有有系统,避避免不必要要的重复开开发,从而而缩短了开开发周期,节节约了开发发成本。 鉴鉴于以上优优势,基于于J2EEE的Webb多层体系系结构已经经成为进行行电子商务务、电子
34、政务等基于于wpb开开发的首选选方案。本本文中所研研究设计的的上海市因因公护照签签证管理信息系统也也采用此种种体系结构构。解决了了系统的体体系结构问问题,下面面的章节将将研究系统将采用什什么样的设设计开发模模式。2.5本章章小结 本本章按照软软件体系结结构从简单单到复杂的的顺序,首首先简单介介绍了传统统的GS两两层体系结构,针针对于GSS两层体系系结构所暴暴露出来的的缺陷,对对比介绍了了更加实用用的sls三层层体系结构构。12EEE平台的的迅速发展展,基于JJ2EE平平台的多层层体系结构构由于具备成熟的组组件及其容容器技术,迅迅速发展起起来,逐渐渐成为开发发Web应应用系统的的首选体系结构。这
35、也是本本章重点介介绍的部分分。本章的的最后,结结合基于JJ2EE的的多层体系系结构的优点点,给出了了电子政务务系统开发发采用此种种多层体系系结构的原原因。第三三章应用SStrutts实现MMVC模式式3.1软件件设计模式式概述 确确立了系统统的体系结结构,了解解到系统的的关键部分分已经集中中到服务器器端的各个个层次的设计与与实现,就就需要一定定的规范来来帮助系统统设计和开开发人员对对服务器端端进行合理的设计与与开发,这这就涉及到到采用何种种设计模式式的问题。设计模式式的概念最最初来源于城市建筑筑模式,但但也同样适适用于面向向对象的软软件开发中中。在面向向对象的软软件开发中,设计模模式就是特特定
36、环境中中标准设计计问题的重重复性解决决方案门。设计模式式可以帮助开发人员员在特定的的环境里整整理系统设设计与开发发过程中所所面临的问问题以及欲欲采取的解决方案,为为系统开发发抽象出一一种模型,并并可以复用用。每一个个模式描述述了一个不不断重复发生的的问题,以以及该问题题解决方案案的核心,并并可以一次次一次的使使用该方案案而不需要重复开开发。每个个模式是由由三部分组组成的一个个原则,这这个原则描描述特定环环境、问题和解决方方案之间的的关系88】 设计模模式的基本本思想就是是,公共的的“习惯用法法”在软件设设计中被不不断重复发发现,因此这这些模式应应该被有意意识的归纳纳整理,并并用于类似似的问题的
37、的解决上,一一般而言,设计模模式具有四四个基本要要素【9】. 11.模式名名称(Paatterrn Naame ) 一一个助记名名,用一两两个词来描描述模式的的问题、解解决方案和和效果。命命名一种新新的模式就会增增加一个新新的设计词词汇。设计计模式允许许开发人员员在较高的的抽象层次次上进行设计。基于于一个统一一的模式词词汇表,开开发人员之之间就可以以在讨论模模式并在编编写文档时使用。模模式名称可可以帮助开开发人员思思考,便于于交流设计计思想和设设计结果,找找到恰当的设计模模式名称也也是设计模模式编写工工作的难点点之一。 22,问题(Probblem ) 描描述应该在在何时使用用设计模式式。它解
38、释释设计问题题存在的前前因后果,它它可能描述述特定的设计计问题,也也可能描述述导致不灵灵活设计的的类或者对对象结构。有时候,问问题部分会包括使使用模式必必须满足的的一系列先先决条件。 3.解决决方案(SSolurrion ) 描描述设计的的组成成分分,它们之之间的相互互关系及各各自的职责责和协作方方式。因为为模式就像一个个模版,可可应用于多多种不同场场合,所以以解决方案案并不描述述一个特定定而具体的的设计或实实现,而是是提供设计计问题的抽抽象描述和和怎样用一一个具有一一般意义的的元素组合(类或对对象组合)来解决这这个问题。 44.效果(Conssequeencess) 描描述模式应应用的效果果
39、及使用模模式应权衡衡的问题。尽管描述述设计决策策时,并不不总提到模式效效果,但它它们对于评评价设计选选择和理解解使用模式式的代价及及好处具有有重要的意义。软件件效果大多多关注对时时间和空间间的衡量,它它们也表达达了语言和和实现问题题。因为复用是面面向对象设设计的要素素之一,所所以模式效效果包括它它对系统的的灵活性、扩充性或可移植性性的影响,显显式的列出出这些效果果对理解和和评价这些些模式很有有帮助。 设设计模式都都是从实践践经验中抽抽象而来,是是被“发现”,而不是是“写作分出出来E1el。设计模式式不单描述述对象,而而且描述对对象之间的的通信方式式,并可以以重用,使使得更加简单方方便的复用用成
40、功的体体系结构,也也使新系统统的开发者者更加容易易理解设计计思路,这也是是设计模式式得到市场场和开发人人员认可的的重要原因因。3.22 J2EEE Weeb设计模模式 如如上所述,JJ2EE平平台为B/S系统开开发提供了了各种成熟熟的组件及及其容器技技术,逐渐成为开开发Webb应用程序序的主流。在应用JJ2EE平平台开发WWeb应用用程序时经经常提到设计模模式Moddel 11和Moddel 22,下文将将对这两种种具体的设设计模式进进行简单的的介绍。3.2.11 Webb设计模式式Modeel 1 JJ2EE平平台向程序序开发人员员提供了JJSP组件件。在ISSP发展早早期,由于于其便于掌掌
41、握而且能够够便捷的进进行Webb应用程序序的开发,很很快成为基基于】2EEE的Weeb应用程程序的主要技技术。在JJSP页面面中可以很很容易的同同时实现内内容的显示示,业务逻逻辑的处理理以及流程控控制,从而而快速的完完成应用开开发。因此此在早期的的BIS应应用程序服服务器端模模块几乎全部部由JSPP文件组成成”i1,这这种以JSSP文件为为中心的设设计模式就就叫Moddel 11.设计模式MModell 1的结结构图如图图3-1所所示。图3-1 Modeel 1结结构图 MModell I的基基础是JSSP文件.首先JSSP文件接接收到浏览览器的Reequesst请求,从从I-ITTTP的请求
42、求中提取参参数,调用用相应的业业务逻辑处处理HTTTP会话,其其中相应的的业务逻辑处理单单元或者数数据库访问问操作等也也是JSPP文件,也也可能会借借助一定的的JavaBBean类类来处理一一部分比较较复杂的业业务逻辑,但但是大量的的业务逻辑辑仍然在JJSP文件中处理。此外,JJSP文件件或者JaavaBeean类都都可以直接接对数据库库进行操作作。最后生生成HTTPP文档。一一系列这样样的JSPP文件形成成一个完整整的Moddel 11应用。 在在Modeel I中中,JSPP页面也可可以独自响响应请求并并将处理结结果返回客客户。这个个模型简单易用用,能够可可以很好的的满足小型型应用的需需要
43、。但是是从工程化化的角度考考虑,它也有一些不不足之处: (1)应用的实实现一般是是基于过程程的,一组组JSP页页面实现一一个业务流流程,如果果要进行改动动,必须在在多个地方方进行修改改。这样非非常不利于于应用扩展展和更新。 CZZ)由于应应用不是建建立在模块块上的,业业务逻辑和和表示逻辑辑混合在JJSP页面面中没有进行抽抽象和分离离。所以非非常不利于于应用扩展展和改动。大量使用用Modeel 1,常常常会导致页面面被嵌入大大量的Jaava代码码。特别是是当需要处处理的业务务逻辑比较较复杂时,情况会变得得非常严重重。对于JJava程程序员来说说,这不算算大的问题题,但如果果开发者是是前端界面设设
44、计人员,则则代码的开开发和维护护将出现困困难。在任任何项目中中,这样的的模式总会导致定定义不清的的响应和项项目管理的的困难,因因此不能满满足大型应应用的要求求。 为为了解决MModell 1紧祸祸合、复用用性差和维维护成本高高的问题yyz,在在开发大型型系统中必须采用用另外一种种设计模式式,这就是是Modeel 2vv3.2.2 Weeb设计模模式Moddel 22 MModell 2表示示的是基于于MVC模模式的框架架(如图33-2所示示13bb。Moodel”代表应用的业务逻逻辑。 Vieww”代表应用用的表示面面(由JSSP页面产产生).Conttrolller”是提供应应用的处理理过程
45、控制制,负责接接受客户端端web浏浏览器发送送来的所有有请求,并并依据处理意见的的不同结果果,转发到到对应的JJSP页面面实现在浏浏览器客户户端的显示示。通过这这种设计模型型把应用逻逻辑、处理理过程和显显示逻辑分分成不同的的组件实现现,这些组组件可以进行交互和和重用,从从而弥补了了Modee11的不不足。Moodel 2具有组组件化的优优点从而更更易于实现对对大规模系系统的开发发和管理,但但是开发这这样的系统统要比简单单的JSPP开发复杂的多,它它需要更多多的时间学学习和掌握握。这就要要求开发人人员必须以以基于组件件的方式思考和设计计应用系统统的结构。原来通过过建立一组组JSP页页面就能实实现
46、的应用用现在需要要对功能模块块重新划分分,需要变变成多个步步骤地设计计和实现过过程。其次次的页面和和组件必须在这种框框架下实现现,所以相相应的增加加了附加开开发的工作作。图3-2 Modeel 2结结构图 由结结构图可以以看出,该该设计模式式的优势是是很明显的的。首先,它它将计算和和显示清楚地分开了了,在JSSP页面上上没有出现现处理过程程,在业务务逻辑或商商业逻辑中中没有数据格式。这这种分离的的另一个好好处是程序序员可以专专注于后台台逻辑单元元代码的开开发,HTML编编写者可以以专注于用用户界面JJSP的开开发。其次次控制器负负责控制转转向。在页页面和逻辑中中不会出现现任何决策策,这就提提高
47、了一个个应用程序序的性能和和可扩展性性,因为请求可以被被导向架构构的不同的的组件,甚甚至是不同同的服务器器。 MModell 2具体体实现了MMVC设计计模式的大大体思想。MVC模模式在交互互式系统开开发中具有强大大的优势,因因此被开发发人员逐步步引入J22EE体系系之中,成成为J2EEE进行交交互式应用开开发时,特特别是Weeb应用开开发时的一一个非常重重要的设计计模式。下下面就对MVC设计计模式进行行详细介绍绍。rn基本设设计模式 MMVC (Modeel-Viiew-CContrrolleer)设计计模式,即即模型一试试图一控制制器模式,源源传统的面向向对象语言言smalllTallk-
48、800,早期它它主要用于于设计用户户界面,是是一个经典典泊设计模式1114。由于使用用该模式设设计的界面面具有多窗窗口、交互互式等特点点,在200世燕80年代初初期被许多多系统采纳纳,如Maacinttosh和和Winddows。随着软件件设计模式式的出现和完善,以以及面向对对象技术的的成熟,MMVC设计计模式逐渐渐成为一种种较完善的的面卜对象设计模模式,它所所应用的范范围也不再再局限于界界面设计。MVC设设计模式是是设计弓互式应用时时广泛采用用的一种设设计模式,也也是J2EEE平台推推荐在开发发Web应应用时使的设计模式式。Sunn公司推出出的J2EEE平台是是一个面向向对象的、完整的大大型
49、应用开开蛋平台,MVVC模式可可以有效的的提高分布布式应用系系统中组件件的重用能能力和事务务控制白灵活性,分分析系统的的用户界面面、业务逻逻辑以及业业务流程控控制。在互互联网快速速发展今天,MVVC模式己己被广泛应应用在各企企、事业 ERP、电子商务务和电子政政务等应用用a统的开发中中【15】 MMVC模式式的基本思思想是将应应用数据和和业务逻辑辑、数据的的表示以及及数据的交交互相分离,即即分离为不不同的实体体,主要三三个部分:模型(MModell )、视视图C VView)和控制器(CContrrolleer)。下下面将对这这三个组成成部分进行行详细介绍绍,图3一一显示了MVC模式式三个主要
50、要组成部分分之间的流流程结构【116】: 图3-33 MVCC设计模式式结构图 MMVC模式式的处理过过程为:首首先控制器器接收用户户的请求,并并决定调用用模型进行行处理:然后后模型根据据用户请求求进行相应应的业务逻逻辑处理,并并返回数据据;最后控控制器调用相应的的视图来格格式化模型型返回的数数据,并通通过视图呈呈现给用户户【17】 视视图(Viiew):表示模型型的状态,是是应用系统统的外观。对应电子子政务、电电子商务等Webb应用中的的用户界面面层,视图图是应用程程序中用户户界面相关关的部分,向向用户提供友好的的交互的界界面。视图图元素通过过浏览器展展示给用户户,这些视视图元素可可以是HT
51、ML,也也可以为XXML或者者柳pleet。在MMVC模式式下视图不不应当处理理数据,视视图主要工作仅仅限于对视视图上数据据的采集和和处理以及及接受用户户的请求,然然后将用户户的请求提交给控控制器来处处理以及向向用户显示示所获得的的返回信息息,当模型型层返回数数据发生变化时,视视图也要自自动更新,以以便维持系系统数据的的一致性【118】 模模型(Moodel):业务逻逻辑层,处处理业务逻逻辑和数据据访问,业业务流程和和业务规则则都属于模型型部分。模模型接受视视图的请求求数据,然然后将处理理的结果返返回给视图图,是用来实现具体体功能的模模块,是应应用程序的的主体部分分。模型表表包含了应应用程序的
52、的核心,它封装了应应用程序的的数据结构构和事务逻逻辑,集中中体现了应应用程序的的状态,但但它并不了解视图和和控制器的的信息。一一个模型可可以为多个个视图提供供数据,多多个视图的的不同显示通过Coontrool层的控控制调度实实现199.此外外,所有属属于系统持持久化状态态的数据都都应该保存于模模型对象中中。一个模模型的接口口提供了访访问和更新新模型状态态以及执行行封装在模型中的复复杂进程的的方法。当当模型发生生变化时模模型就会通通过控制器器通报视图图。 控制器器(Conntrolller):流程控控制层,定定义了系统统的行为,所所实现的行行为包括业业务处理和修改改模型状态态。控制器器是联系模模
53、型和视图图之间的纽纽带,控制制模型与视视图之间的交互过程程。一方面面控制器接接收来自系系统视图层层的用户参参数信息,并并将其组装装转换为系统模型型层所能够够解释的数数据或者事事务对象,同同时控制器器也将识别别用户的动动作,将其解释为为对Moddel层的的方法调用用。另一方方面,控制制器会将MMode!层的逻辑辑处理结果,调用用适当的VView层层组件向用用户显示反反馈信息。在MVCC模式中,控控制器是一个中介者者的身份,以以用户的请请求为线,将将模型和视视图连接在在一起,它它不作任何何数据处理。构构建基于MMVC的模模型框架的的核心就是是设计有效效的控制器器。 在在MVC模模式中,存存在三个十
54、十分重要的的关系:VView和和Modeel之间的的关系、Contrrolleer和Moodel之之间的关系系以及Coonolller和和Vieww之间的关关系。视图图和模型之之间有如下关关系:当模模型中的数数据状态发发生了变化化,模型会会通知视图图数据有更更新,视图则重新请请求数据,正正确显示模模型数据;每一个视视图在显示示给用户时时,都要求求去查询模型或者者访问模型型中封装的的方法和数数据,一个个模型可以以对应多个个视图,同同时,也可以为一个个模型创建建新的视图图而无需修修改模型。而控制器器和模型之之间的关系系相对比较较简单,即即控制器只只负责向业业务处理模模型转交用用户的请求求。控制器器
55、和视图之之间的关系为,视图图可以向控控制器提交交用户的请请求,而控控制器可以以选择显示示的视图,也也可以决定视图应应该显示什什么,同时时也能够决决定是否接接受视图提提交的用户户请求。 在在Web系系统开发中中,例如电电子政务系系统开发,采采用MVCC模式,能能够将应用用逻辑、处理理过程和显显示逻辑分分成不同的的组件来实实现。通过过三者之间间的分离达达到层次-间的松散祸祸合,以实实现代码重重用和易于于修改,提提高系统得得灵活性、重用性和和可维护性,适应了了日益复杂杂的Webb应用系统统的设计要要求12oozi11e3.2.44 MVCC核心组成成模式 GGoF在他他们的著作作中归纳总总结了233
56、个经典的的设计模式式,每一个个设计模式式都给出了完美的的解决方案案。相对而而言,MVVC是一个个较高层次次的模式,它它是由几个个更基本的设计模模式组合而而成。与MMVC密切切相关的主主要有三个个模式:观观察者模式式 Obsserveer)、策策略模式(Straategyy)和组合合模式(CCompoositee )。 观观察者模式式(Obsserveer)定义义了对象间间一种一对对多的依赖赖关系,当当一个对象象的状态发生改改变时,所所有依赖于于它的对象象都得到通通知并被自自动更新。某一个数数据可能有多种显示示的方式,并并且可能同同时以这几几种方式显显示,一旦旦这个数据据发生了更更改,它的各种显
57、显示方式应应该清楚这这一状况并并做出相应应的调整。观察者模模式描述的的这种关系也被称为为发布一订订阅( ubGssh-suubscrribe)模式,它它的两个重重要对象分分别称为目目标和观察者者。一个目目标可以有有任意多个个依赖于它它的观察者者,一旦目目标的状态态发生变化,所有的的观察者都都将得到通通知,每一一个观察者者再次查询询目标的状状态使之与与目标保持同步。 MMVC的MModell和Vieew之间的的关系就如如同目标和和观察者之之间的关系系。Moddel-View的的关系实际际上被描述述为Obsserveer的设计计模式。观观察者模式式应用非常常广泛,尤尤其是在管理理信息系统统领域。例
58、例如,在一一个电子政政务应用系系统中,普普通用户和和系统管理员查看信信息的界面面就不同,虽虽然都是显显示的政务务信息,但但由于系统统管理员拥拥有的权限更大,可可查看的内内容也更多多。在这样样的场合,使使用Obsserveer模式可可以降低系系统信息和显显示页面之之间的祸合合度,把界界面表示和和数据分离离,这样的的优点就是是,增加一个新的查查看页面时时,无需修修改原系统统。 策策略模式(Straategyy)定义了了一系列的的算法,把把它们一个个个封装起起来,并且且使它们可以相相互替换,使使得算法可可独立于使使用它的客客户而变化化。MVCC可以在不不改变View的的情况下改改变Vieew对用户户
59、输入的响响应方式,这这对于经常常需要更改改响应逻辑辑的系统来说说是非常重重要的。MMVC把响响应逻辑封封装在Coontroollerr中,对用用户输入的的响应不是是视图来实实现的,而而是由一个个抽象的CContrrolleer类的不不同子类各自独立地地实现。更更换不同的的onntrolller实实例就可以以改变Viiew对用用户输入的的响应策略。MVVC的Viiew-CContrrolleer之间的的关系就被被描述为SStrattegy模模式。使用用策略模式加强了系系统的灵活活性和可维维护性,虽虽然应用策策略模式增增加了维护护对象的数数目(一个抽象类的的子类数目目),但相相对于它的的优点,付付
60、出这些代代价是值得得的。 组组合模式(Comppositte)将对对象组合成成树形结构构以表示“部分整体”的层次结结构,它使得得用户对单单个对象和和组合对象象的使用具具有一致性性。组合模模式在MVVC中的一个重要应应用就是VView可可以组合嵌嵌套。用户户可以使用用简单的视视图组件组组合创建复复杂的视图组组件。它的的核心思想想就是对容容器(组合合的对象)和内容一一视同仁。应用组合模式的典典型例子就就是计算机机中的文件件夹.在一一个文件夹夹下可以有有文件和其其它文件夹,在子文文件夹中还还可以有其其它文件或或子文件夹夹。虽然文文件夹和文文件实际上上是两种截然不同的的东西,但但两者都可可以放在文文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁医药职业学院《Java+语言程序设计实验》2023-2024学年第一学期期末试卷
- 兰州工业学院《行为医学》2023-2024学年第一学期期末试卷
- 江西建设职业技术学院《土地测量与评价》2023-2024学年第一学期期末试卷
- 吉林职业技术学院《外国音乐史Ⅰ》2023-2024学年第一学期期末试卷
- 湖南电子科技职业学院《物流流程再造》2023-2024学年第一学期期末试卷
- 黑龙江司法警官职业学院《生物信息学》2023-2024学年第一学期期末试卷
- 重庆应用技术职业学院《集成电路版图设计》2023-2024学年第一学期期末试卷
- 重庆建筑工程职业学院《外语教育研究方法》2023-2024学年第一学期期末试卷
- 中央戏剧学院《计算机网络基础》2023-2024学年第一学期期末试卷
- 中国石油大学(北京)《数据库技术及应用实践》2023-2024学年第一学期期末试卷
- 市场部整体运营概况
- 数字广告数据要素流通保障技术研究报告(2023年)
- JJF(苏) 283-2024 暂态地电压法局部放电检测仪校准规范
- 某27层高层住宅楼施工组织设计方案
- 2025年中考语文备考之名著导读:《水浒传》主要人物梳理
- 小学科学学情分析报告总结
- 健康中国产业园规划方案
- (2024年)二年级上册音乐
- 2024届高考英语一轮复习读后续写脱险类续写讲义
- ISO13485内部审核检查表+内审记录
- 2024年《药物临床试验质量管理规范》(GCP)网络培训题库
评论
0/150
提交评论