面向对象的软件设计模式在配电GIS中的应用.doc_第1页
面向对象的软件设计模式在配电GIS中的应用.doc_第2页
面向对象的软件设计模式在配电GIS中的应用.doc_第3页
面向对象的软件设计模式在配电GIS中的应用.doc_第4页
面向对象的软件设计模式在配电GIS中的应用.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象的软件设计模式在配电GIS中的应用测绘信息与工程JournalofGeomaticsJune2005:30(3)3文章编号:10073817(2005)03000303中图分类号:P208文献标志码:B面向对象的软件设计模式在配电GIS中的应用肖志峰龚健雅王艳东翟晓芳.(1武汉大学测绘遥感信息工程国家重点实验室;2武汉大学资源与环境科学学院,武汉市珞喻路129号.430079)摘要阐述了一个配电GIS系统的框架体系结构,描述了AbstractFactory模式,Observer模式,Composite模式,Adapter模式,Chair/Responsibility模式,Command模式在其开发设计中的运用.关键词面向对象;设计模式;配电GIS;软件复用作为一个基础平台,GIS以良好的开发性和可扩展性,应用在电力企业各个部门中,可满足电力企业统一管理,统一规划的需要,可集成并融合企业已有的SCADA,MIS.其以丰富直观的表达形式,强大的地理数据管理和分析能力,为复杂的电网数据管理分析和维护检修提供了强有力的工具【l一.就厦门市城区配电GIS建设,讨论了面向对象的软件设计模式的应用.1设计模式与配电GIS建设可复用的面向对象软件的设计是非常复杂而困难的.设计模式就是那些成功的面向对象软件设计经验的集合,成为一个特定环境下解决某一问题的系统化和文档化的经验,使系统的建设更加合理和高效【2一.根据完成的工作不同,设计模式可分为创建型,结构型,行为型三种.创建型模式与对象的创建相关,包括抽象工厂等5种模式;结构型模式处理类与对象的组合,从而实现新的功能,包括组合等7种模式;行为型模式描述类与对象之间的交互以及职责分配,包括观察者等1O种模式.厦门市配电GIS是GIS在电力行业深入应用的实例,涉及到的内容和相关接口系统非常多.由于在软件复用上的优秀表现,设计模式在越来越多的配电GIS建设中发挥了更大的作用【3一.配电GIS包含数据组织与管理,界面设计与实现,外部接口关系等三个主要部分.具体可分为空间数据组织,空间数据访问,图形表现,界面窗口设计,交互式操作,外部接口设计等方面.在数据组织上,由于数据源的多样性,一般采用创建型模式来管理多源的数据;在界面设计与实现上,行为型模式提供了多种界面的交互方案选择;在外部接口设计中,结构型模式使多样的接口表现为统一的接口内容,隔离了接口的不一致.2系统框架结构框架是整个或部分系统的可重用设计,表现为一组抽象参考文献1DowntonA,CrookesD.ParallelArchitecturesforImageProcessingJ.ElectronicsandCommunicationEngineeringJournal.1998.10(3):139151E2FosterL.DesigningandBuildingParallelProgramsM.Boston:AddisonWesley,199533黄国满.基于空间信息的区域动态变化监测与更新系统研究D.北京:中国科学院地理科学和与资源研究所,20014ERDAS.SpatialModelerLanguageReferenceManualM.Atlanta:LeicaGeosystemsGISandMapping,LLC,20035AmdahlGM.LimitsofExpectionJInt.J.Supercomput,1988,2(1):88946周海芳.遥感图像并行处理算法的研究和应用D.长沙:国防科学技术大学,2003收稿日期:20040906.第一作者简介:卢丽君,硕士研究生,现研究遥感数据处理.E.mail:.enAPPLICATIONOFPARALLELCOMPUTINGTECHNIQUESOFDISTRIBUTEDMEMORYMULTIPROCESSORSTOREMOTESENSINGIMAGEPROCESSINGLUlijunLIAOMingshengZHANGLu(StateKeyLaboratoryofInformationEngineering_nSureying,MappingandRemoteSensing,WuhanUniversity?129LuoyuRoad?Wuhan430079?China)ABSTRACTThispaperintroducesthestructuralhierarchyofparallelcomputinginremotesensingimageprocessing,parallelcomputingmodelandsomekeytechniquesandputsforwardanimageparallelprocessingapplicationconstructedondistributedclusterofPCs.KEYWORDSdistributedcluster;linearstretch;remotesensingimage;parallelprocessing;parallelalgorithm4涮玲信患与工程JournalofGeomaticsJune2005;30(3)构件及构件实例间交互的方法.通过定义框架抽象类的应用相关的子类,从而将一个框架定制为特定应用【|j.配电GIS框架结构主要由应用程序框架与子模块两者构成,应用程序框架负责子模块的维护与管理,系统单一数据源管理等上层的管理工作,不具体涉及应用系统的功能.子模块是各种应用的实现者,子模块注册到应用程序框架中,使框架能协调各个子模块的功能,并使子模块得到框架所有的资源.子模块与应用程序框架的关系是发布,订阅的关系,应用程序框架是发布者,子模块是订阅者.数据源等系统资源由应用程序框架管理,外部接口等具体的应用功能由各子模块单独掌握.子模块的各种界面操作通过命令对照表的方式注册到应用程序框架中,使其集中各种界面操作.整个系统框架通过运用各种设计模式,使得各个子项尽可能松耦合,易于以后的维护和管理,基于此框架的配电GIS更具有灵活性,易升级维护等特点【5.配电GIS框架设计如图1所示.数据帔务囹实时据圃LJ图1配电GIS框架设计3AbstractFactory模式的应用基于对系统运行效率的考虑,配电GIS需要访问的空间数据,分别存储在0racle空间数据库和自定义文件中,其中0racle空间数据库存储城市地理底图和地面上的配电网络设备设施,自定义文件存储变电站,配电站等站房内的电气接线图和设施图.由于两类数据的结构和访问方式完全不同,前者需使用数据库接口和SQL语句,后者需使用文件流接口和各种内存操作,因而在接口实现上是大不相同的.但是两类数据的输出目的都是用于数据的存储,查询,修改,显示.为了保证上层表现端的一致性,系统采用AbstractFactory模式,定义了一整套用于数据访问的抽象接口集,包括数据库连接(文件打开),数据存储,查询,修改等一系列行为.这些接口集相互依赖,无法单独创建,然后在其上分别对于Oracle数据库和自定义文件格式实现了两套创建模式.在具体的应用中,无需指定数据源的子类,只需创建顶层父类即可得到一系列该父类所管理的数据源实现,使上层应用独立于数据源的变化.在以后的发展中,可以让更多的数据源加入到系统,而无需更改任何显示,查询等功能模块,减轻了系统的依赖性.4Observer模式的应用利用Observer模式的设计思想,将当前的电力对象作为目标(SUbject),将各种关联的监视窗口作为观察者(observer),实现了对象和关联窗口的最小耦合.一个对象不用知道此时有多个关联窗口在监视其状态,也不需要知道到底是哪一个窗口,其间通过一个公共协议来传输各种数据.一旦电力对象的状态发生了变化,就通过系统框架来通知各个关联窗口,一旦关联窗口接收到对象状态变化的消息,即改变自身的显示效果,保持与对象当前状态的同步.Observer模式的实现如图2所示.PoleObject是Subject的实现类,代表一个具体的电力对象,PropertyObserver和SCADAObserver图2Observer模式的实现作为Observer的实现类,代表具体的关联窗口,Subject通过将事件通知给Observer来实现关联窗口内容的更新.5Composite模式的应用采用Composite模式来组织各种地理和配电网络数据,以达到最大自由度的图层定义,用户可以使用简单的图元组件创建复杂的图表【2.系统定义一个纯抽象接口|Layer来代表个图层,其既可以代表具体的地理数据图层,又可以代表个图层集合.|Layer声明了一些公共方法,如Visible,Draw等,同时也生成了对组合图层的公共操作方法,如枚举子图层.子类GeographicLayer,PowerLayer继承自ILayer,代表了具体的图层类型,如地理图层,电力图层.都实现Draw,Visible等公共方法,不执行与子图层有关的方法.GroupLayer类也继承自|Layer,定义了个|Layer对象的集合层.GroupLayer的Draw方法是通过对其子图层调用Draw方法实现的,还实现了一些与其子图层相关的操作,如EnumLayers,AddLayer,RemoveLayer等.作为一种组合对象,GroupLayer本身也可以由GroupLayer组成更复杂的组合层,并不断地递归下去,获得对于更加自由的图层组合效果.Composite模式的实现如图3所示.图3Composite模式的实现6Adapter模式的应用由于本系统需要同时接入不同厂商的SCADA数据,如果为每种接口编写特定的接口程序,则会造成代码维护的极大困难,并严重影响了系统在今后发展中的适用性【6j.系统运用Adapter模式,首先分析SCADA系统提供的功能并进行高度抽象,定义了相关的功能接口,再为每种SCADA接口编写相应的适配器,使之与系统定义的接口一致.该设计模式使实时数据的获取与应用客户相互独立,降低了双方的耦合程度,应用客户端可以对实时数据进行一致的处理,而测培信患与工程JournalofGeomaticsJune2005:30(3)5不用知道这些数据的具体来源,从而使系统实现了不同SCADA系统的整体无缝式的嵌入.Adapter模式的实现如图4所示.SCADAInterface是系统抽象后的SCADA数据图4Adapter模式的实现接口,IESSCADA和NARISCADA是系统为了适应不同厂商的SCADA接口而写的实现类,在IESSCADA中,通过调用厂商提供的ExternalSCADA中的相应接口方法来实现IEsscADA的功能,这就是Adapter模式的特点.7ChainResp0nsibility模式的应用ChainResponsibility模式使同一系统中多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系在配电GIS建模工具中,由于是模块独立式的组织结构,模块之间互相不知道其他模块的存在,而每一个模块都能得到框架的共享资源,包括各种事件和消息.当用户点击了某一个菜单或者鼠标后,将请求的对象和可能的接受对象解耦.系统在设计消息的响应时,采用消息统一获取和链式传递的方法,由显式的消息传送者接收,然后沿着各模块的隐式接受者逐一判断,如果某一模块不能处理此消息,则继续询问后继模块,直到有一模块能处理为止;当所有的模块都没有处理时,则消息发送者自己将使用缺省的处理方式将该消息处理掉.在处理界面上的鼠标右键消息时,这种处理方式尤其适用.当框架选中了一个对象后,无法确定由那个模块处理此对象,所以沿着模块列表,依次询问各模块的处理意见,直到找到适用的模块.本模式很好地解决了多模块应用中消息传递的不确定性并简化了应用模型,特别在多人,多模块协作的大型界面开发时显得更加有效.8Command模式的应用在配电GIS建模工具中,拥有数量众多的数据编辑功能,如增加一个电杆,删除一条电缆,拓扑关系检查等,建模工具用户界面为这些命令提供支持.为了将界面与功能的实现解耦,可以使用Command模式来解决这个问题.系统首先定义一个命令对象的基类ICommand,含有若干个公共方法完成一些公有功能,如Execute,CanExecute,Undo,Redo,WriteLog等.然后将每一个数据编辑命令都封装成一个命令对象,并从ICommand继承,将数据编辑功能的具体实现封装在具体的命令对象中.在用户选择一个增加电杆命令时,框架无需知道当时执行的是哪一个命令,通过命令对照表找到执行此命令的对象后,实例化该命令对象,并通过执行公共方法Execute即可得到结果.每个命令对象都会保存一些自身的状态以支持撤销等操作.如移动命令对象会保持移动的位移和被移动对象的引用.9结束语将设计模式引入配电GIS的设计开发中,为GIS的应用开发提供了一种有效的解决方法,使人们可以更加简单方便地复用成功的设计和体系结构,将已证实的技术表述成设计模式,使新系统开发者更加容易理解其设计思路,一个熟悉这些模式的设计者不需要再去发现,而能够立即将其应用于设计问题中,实现了更高的灵活性和复用性.口参考文献1龚健雅.当代GIS的若干理论与技术M.武汉:武汉测绘科技大学出版社,199923GammaE,HelmR,JohnsonR,eta1.DesignPatternsM.Boston:AddisonWesley,199533孙才新,刘理峰,雷绍兰.电力地理信息系统及其在配电网中的应用M.北京:科学出版社,200343童立,马远良.设计模式在基于组件的框架设计中的应用J.计算机工程与应用,2003,38(17):12312853ZhuJ,JossmanP.ApplicationofDesignPatternsforObjectOrientedModelingofPowerSystemgJ3.IEEETrans.onPowerSystem,1999,14(2):5325376TrudeauD,HoffmanR,SeymourMA.IntegratingAM/FMMapswithDistributionSCADAJ.IEEETransactionsonPowerDelivery,1990,5(2):12181219收稿日期;20040907.第一作者简介:肖志峰,博士研究生,现研究GIS理论及应用.E-mail:xi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论