已阅读5页,还剩56页未读, 继续免费阅读
(计算机科学与技术专业论文)基于设计模式的语音增值业务管理平台的重构.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电人学硕士学位论文基于设计模式的语音增值业务管理平台的重构 b o s s c a r p d 口 j d k l 5 j v m l s p o c p p o j o s p s q l v s m p v x m l 缩略语 b u s i n e s s & o p e r a t i o ns u p p o r ts y s t e m c o m p o s i t e a g g r e g a t er e u s ep r i n c i p l e d e p e n d e n c y - i n v e r s i o np r i n c i p l e s j a v ad e v e l o p m e n tk i t j a v av i r t u a lm a c h i n e l i s k o vs u b s t i t u t i o np r i n c i p l e o p e n c l o s ep r i n c i p l e p l a i no l dj a v ao b j e c t s s e r v i c e p r o v i d e r s t r u c t u r e dq u e r yl a n g u a g e v o i c ev a l u e a d d e ds e r v i c em a n a g e m e n t p 1 a t f o r m v o i c ee x t e n s i b l em a r k u pl a n g u a g e 北京邮电大学网络与交换技术国家重点实验室 运营支撑系统 合成复用原则 依赖倒置原则 j a v a 开发工具集 j a v a 虚拟机 里氏替换原则 开放一封闭原则 简单旧式j a v a 对象 服务提供商 结构化查询语言 语音增值业务管理平台 语音扩展标记语言 第9 页共6 4 页 北京邮i u 人学硕l :学位论义基于设计模式的语啬增值业务管理、f 台的莺构 独创性( 或创新性) 声明 本人声明所旱- 交的论文是本人在导师指导下进行的研究r :作及取得的研究成果。尽我所 知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰 写过的研究成果,也不包含为获得北京邮电人学或其他教育机构的学位或证二l 弓而使用过的材 料。与我一同:j :作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢 意。 中请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:焦叁型日期:迎! :! :三! 关丁论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有 权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被 查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、 缩印或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守 此规定) 保密论文注释:本学位论文属丁保密在一年解密后适川本授权j i ;oi t 保密论文注释:本 学位论文不属丁保密范同,适川本授权1 5 。 奉人签名:焦墨塑日期:2 坚墅:三:二! 导师签名:j 辜丑卫牝 日期:2 型l j l 孚一 北京| | i i j i 【1 人学恻络。j 交换技术困家重点实验室第2 贝共6 4 灭 北京邮电大学硕士学位论文基于设计模式的语音增值业务管理平台的重构 基于设计模式的语音增值业务管理平台的重构 摘要 2 1 世纪是计算机软件发展的春天,软件系统朝着网络化、服务化和全球化的 方向不断发展。然而发展的同时也暴露出软件行业的一些弊端,在很多软件开发 过程中,面对不断变化的性能需求,软件系统往往过于僵硬,过于脆弱,不易复 用,很难维护。而且当今的软件开发多数是在已有的一些工作基础上进行的,对 软件可维护性和可复用性的要求越来越高。同时,软件维护工作在软件生命周期 中占的比例也越来越大。为了提高软件的可维护性和可复用性,在系统设计的过 程中,应该充分参照现有的设计模式;使系统有一个良好的设计。同时,在系统 的开发与维护过程中,要积极对软件的代码进行重构,改进系统的设计。 设计模式是对被用来描述特定场景下解决一般设计问题的类和相互通信的 对象的描述。设计模式是微体系结构( m i c r o a r c h i t e c t u r e ) ,相对类和对象来说 它是更高级别的构建模块类或对象的组合。从这个角度看,识别现有系统中的设 计模式实例有助于更准确地理解现有系统的设计意图并改善其可维护性。每个设 计模式描述了各自的应用领域和基本原则。设计模式提供了设计级的复用性和灵 活性,使软件对需求变化的敏感度降低。 重构( r e f a c t o r i n g ) 就是在不改变软件现有功能的基础上,通过调整程序代 码改善软件的质量、性能,使其程序的设计和架构更趋合理,提高软件的扩展性 和维护性。尽管表面上重构是代码的一种整理,实际上却是对代码中蕴含的设计 的调整。在某种意义上,设计模式作为重构的目标指导重构的进行。 v s m p ( v o i c ev a l u e - a d d e ds e r v i c em a n a g e m e n tp l a t f o r m ) 是开放的、模块化 的、基于标准的基础平台,它向下提供与短信网关、b o s s ( b u s i n e s s o p e r a t i o n s u p p o r ts y s t e m ,运营支撑系统) 网关等功能实体的通信,向上提供业务管理、 计费管理、用户管理、统计查询管理、系统管理、s p ( s e r v i c ep r o v i d e r ) 管理等 公共功能。其主要能力和结构建立在满足现有语音增值业务产品的基础上,为用 户提供更方便更灵活的管理功能。随着语音增值业务发展进入高峰期,增值业务 无论从数量和类型都实现了几何级的增长,v s m p 系统在满足新业务的功能需求 方面日渐显出不足之处,系统的移植性、扩展性、易维护性都面临严峻的考验, 对v s m p 的系统重构需求也日渐迫切。 本文先介绍了设计模式和重构以及面向对象技术的概念和特征,分析了 v s m p 系统目前存在的主要问题,对这些问题进行深入研究,提出了基于设计模 式的重构解决方案,最后运用具体的体系结构模式、j 2 e e ( j a v a 2p l a t f o r m 北京邮电大学网络与交换技术国家重点实验室第3 页共6 4 页 北京邮电大学硕上学位论文基于设计模式的语音增值业务管理平台的重构 e n t e r p r i s ee d i t i o n ) 模式和基本设计模式从模块级、功能级、实现级三个不同的 级别实现了对语音增值业务管理平台系统的重构。 关键字:增值业务,设计模式,重构,面向对象 北京邮电大学网络与交换技术国家重点实验室第4 页共6 4 页 北京邮电大学硕士学位论文 基于设计模式的语音增值业务管理甲台的重构 r e f a c t o i u n go fv o i c e a d d e ds e r c em 【a n a g e r m e n t p l a t f o r mb a s e do nd e s i g ni a t t e r n a b s t r a c t t h e21s tc e n t u r yi ss p r i n gf o rt h ed e v e l o p m e n to fc o m p u t e rs o f t w a r e , a n dt h es o t l w a r es y s t e m si sd e v e l o p i n gt o w a r d st h ed i r e c t i o no fn e t w o r k , s e r v i c e sa n dg l o b a l i z a t i o n h o w e v e r , t h ed e v e l o p m e n to ft h es o f t w a r e i n d u s t r yh a sa l s or e v e a l e d s o m es h o r t c o m i n g s ,i nm a n yp r o c e s so f s o f t w a r ed e v e l o p m e n t ,s o f t w a r es y s t e m sa r eo f t e nt o or i g i d ,t o of r a g i l e a n dd i f f i c u l tt or e u s ew h e nf a c e dw i t he v e r - c h a n g i n gp e r f o r m a n c e r e q u i r e m e n t s ,a n di t i sa l s od i f f i c u l tt om a i n t a i n i na d d i t i o n ,m a n y s o f t w a r ed e v e l o p m e n tw o r ka r eb a s e do ns o m ew o r kt h a ta r ea c q u i r e d a l r e a d yn o w , s ot h em a i n t a i n a b i l i t ya n dt h er e u s a b i l i t yo fs o f t - w a r ei s b e c o m em o r ea n dm o r ei m p o r t a n t a tt h es a m et i m e ,t h ep r o p o r t i o no f s o f t w a r em a i n t e n a n c ew o r ki nt h es o f t w a r el i f ec y c l ei si n c r e a s i n g i n o r d e rt oi m p r o v es o f t w a r em a i n t a i n a b i l i t ya n dr e u s a b i l i t y , i ti sn e c e s s a r y t or e f e rt ot h ee x i s t i n gd e s i g ni ns y s t e md e s i g np r o c e s s i na d d i t i o n ,w e s h o u l da c t i v e l yr e f a c t o r i n gf o rt h es o r w a r ec o d e ,i m p r o v et h ed e s i g no f s y s t e mi ns y s t e m sd e v e l o p m e n ta n dm a i n t e n a n c ep r o c e s s d e s i g np a t t e mi su s e dt od e s c r i b e t h ec l a s s e st h a tr e s o l v eg e n e r a l d e s i g ni s s h e sa n dt h eo b je c tt h a tc o m m u n i c a t ew i t he a c ho t h e ri ns p e c i f i c s c e n e s d e s i g np a t t e mi sm i c r o - a r c h i t e c t u r e ,c o m p a r et oc l a s s e sa n d o b j e c t s ,i ti sah i g h e r - l e v e lb u i l d i n gb l o c k so fo b j e c to r ac o m b i n a t i o no f o b j e c t s f r o mt h i sp e r s p e c t i v e ,t h er e c o v e r yo fd e s i g np a t t e mi n s t a n c e si n e x i s t e ds y s t e m sc o u l di m p r o v et h eu n d e r s t a n d i n ga n dm a i n t a i n a b i l i t yo f t h e m ,b e c a u s el a r g e rc h u n k sc o u l db eu n d e r s t o o d a saw h o l e e a c hd e s i g n p a t t e md e s c r i b e si t sa r e a so fa p p l i c a t i o na n db a s i cp r i n c i p l e s d e s i g n e dt o p r o v i d et h er e u s a b i l i t ya n df l e x i b i l i t yi nd e s i g nl e v e lf o rs o f t w a r e ,a n d r e d u c et h es e n s i t i v i t yt oc h a n g eo fr e q u i r e m e n to fs o f t w a r e r e f a c t o r i n gm e a n sn o tt oc h a n g et h ee x i s t i n gf u n c t i o n so fs o f t w a r e , a n di t so b je c ti st oi m p r o v et h eq u a l i t ya n dp e r f o r m a n c eo fs o f t w a r ea n d t om a k et h ed e s i g no fi t sp r o c e d u r e sa n ds t r u c t u r em o r er a t i o n a lt h r o u g h t h ep r o c e s so fa d j u s t m e n tf o rs o f t w a r ec o d e ,s oi m p r o v et h es c a l a b i l i t y 北京邮电大学网络与交换技术国家重点实验室 第5 页共6 4 页 a n dm a i n t a i n a b i l i t yo f s o f t w a r e a l t h o u g ho nt h es u r f a c e ,r e f a c t o r i n gi sa n a r r a n g e m e n tp r o c e s so fc o d e ,t h ec o d ei sa c t u a l l yc o n t a i n e di nt h ed e s i g n o fa d j u s t m e n t i nas e n s e ,d e s i g np a t t e r na st h e g o a lo fg u i d i n gt h e c o n d u c to f r e f a c t o r i n g v s m p ( v o i c ev a l u e - a d d e ds e r v i c em a n a g e m e n t p l a t f o r m ) i sa n o p e n ,m o d u l a r , s t a n d a r d s - b a s e dp l a t f o r m ,w h i c hp r o v i d e ss m s ( s h o r t m e s s a g es y s t e m )g a t e w a y , b o s s ( b u s i n e s s & o p e r a t i o ns u p p o r t s y s t e m ,o p e r a t i o ns u p p o r ts y s t e m ) g a t e w a yf u n c t i o n sa n do t h e r c o m m u n i c a t i o ne n t i t i e sd o w n l o a d ,a n di tp r o v i d eb u s i n e s sm a n a g e m e n t b l l l l n gm a n a g e m e n t ,u s e rm a n a g e m e n t ,s t a t i s t i ca n dq u e r ym a n a g e m e n t , s y s t e mm a n a g e m e n t ,s pm a n a g e m e n ta n do t h e rp u b l i cf u n c t i o n su p l o a d i t sm a i ns t r u c t u r ea n da b i l i t yi sd e s i g n e dt om e e te x i s t i n gv a l u e :a d d e d s e r v i c e s w i t hv o i c ev a l u e a d d e db u s i n e s sd e v e l o p m e n th a se n t e r e dt h e p e a kp e r i o d ,v a l u e a d d e ds e r v i c e sa r ei nap r o c e s so fg e o m e t r i cg r o w t h t h ed e f e c t so fv s m p s y s t e mi ss h o w i n g ,t h ep o r t a b i l i t y , s c a l a b i l i t ya n d e a s ym a i n t e n a n c ea b i l i t yo fs y s t e ma r ef a c i n gs e v e r ec h a l l e n g e ,a n dt h e r e f a c t o r i n gn e e d sf o rv s m ps y s t e m sa l s ob e c o m ei n c r e a s i n g l yu r g e n t t h i sp a p e ri n t r o d u c e dt h ed e s i g np a t t e r n sa n d r e f a c t o r i n g ,a sw e l la s t h ec o n c e p to fo b j e c t - o r i e n t e dt e c h n o l o g ya t f i r s t ,a n a l y z e dt h ec u r r e n t m a i np r o b l e m so ft h ev s m ps y s t e m ,t h r o u g hi n d e p t h s t u d yo ft h e s e p r o b l e m s ,w ep r o p o s e dar e f a c t o r i n gs o l u t i o nt h a tb a s e do n d e s i g n p a t t e m s f i n a l l yw eu s ec o n c r e t es t r u c t u r a lp a t t e r n ,b a s i cp a t t e r na n d j 2 e ed e s i g np a t t e m st or e f a c t o r i n gt h ev s m p s y s t e mf r o mt h em o d u l e 1 e v e l ,t h ef u n c t i o n a l l e v e la n di m p l e m e n t a ll e v e l k e yw o r d s :v o i c ev a l u e a d d e ds e r v i c e ,d e s i g np a t t e m ,r e f a c t o r i n g , o b j e c t o r i e n t e d 北京邮电大学网络与交换技术国家重点实验室 第6 页共6 4 页 北京邮电大学硕七学位论文基于设计模式的语音增值业务管理_ 甲台的重构 1 1论文背景 第一章引言 自2 0 0 3 年彩铃、彩话等语音增值业务进入市场后,带“彩 的语音增值业 务便成为运营商和普通用户的新宠,引起了语音增值业务发展的另一个高潮。与 此同时移动通信技术从2 g 、2 5 g 向3 g 的演变也是技术、市场发展的必经之路。 3 g 的魅力在于它的网络能力和业务能力,随着信道带宽的不断增加,以及相关 技术的不断成熟,使移动运营商向用户提供丰富多彩的语音、视频、数据业务成 为可能。面对即将来临的3 g 语音增值业务应用高潮,v s m p ( v o i c ev a l u e a d d e d s e r v i c em a n a g e m e n tp l a t f o r n l ,语音增值业务管理平台) 也必须经历一个彻底的 改革才能顺应业务的发展,更好的满足用户的需求。目前大多数v s m p 存在以 下几个方面的问题: 管理功能单一,系统扩展性比较差; 业务管理手段粗放,缺乏对用户业务数据的统一管理和有效控制; 缺乏整体统计分析和查询能力; 系统计费功能薄弱,存在s p 欺诈等现象,用户投诉率高; 系统权限单一,对多级用户的权限支持不够充分 诸如此类的问题,已经严重制约了语音增值业务的发展。 设计模式( d e s i g np a t t e r n ) 是一套被反复使用、多数人知晓的、经过分类编 目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被 他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的, 设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块 块砖石一样。 运用设计模式对v s m p 系统重构,是解决上述问题的有效手段,对v s m p 系统重构的目的有两个:一是为运营商提供一个快速引入、推广各种业务,具有 方便完善的计费管理接口以及各种管理功能的基础平台;二是为服务提供商提供 更人性化和个性化的服务,更快捷、更方便的使用途径。 1 2 论文研究的目的和意义 本论文的研究目的在于:采用相关的设计模式对基于m v c ( m o d e l v i e w c o n t r o l l e r ) 模式的三层b s ( b r o w s e r s e r v e r ) 结构的语音增值业 务管理平台进行重构,从模块级、功能级、实现级三个截然不同的层次实现对系 统的重构,其最终目标将构建一个系统扩展性、移植性良好,系统功能完善、使 北京邮电大学网络与交换技术国家重点实验室第l o 页共“页 北京邮电大学硕士学位论文 基于设计模式的语音增值业务管理平台的重构 用方便、系统易理解易维护的语音增值业务管理平台。 本论文的研究意义体现在,将基于设计模式的重构理论运用在系统改造过程 中,一方面实现了对语音增值业务管理平台的重构,使重构后的系统更好的满足 各类用户的需求;另一方面也为类似的管理平台系统重构提供了典型范例,本论 文在统计查询、定时任务等功能方面的重构方法和解决方案适用于几乎所有的管 理平台系统。 1 3 论文结构及主要内容 本论文在深入研究各种设计模式的基础上,探讨它在语音增值业务管理平台 系统重构过程中的应用,并进行了基于各种具体设计模式的语音增值业务管理平 台系统的重构,解决了该平台系统在系统移植性、扩展性以及系统维护性方面的 问题。使系统更灵活、使用更方便。 具体来说,本文的结构及内容组织如下: 第一章,引言。介绍本论文产生的背景,研究的目的和意义以及论文的组织 结构。 第二章,相关技术。介绍了本论文所涉及的相关技术的有关内容。包括设计 模式、重构以及面向对象技术。 第三章,语音增值业务管理平台。简单介绍了语音增值业务管理平台及其发 展过程。 第四章,语音增值业务管理平台重构设计。从语音增值业务管理平台系统的 模块级、功能级、实现级三个不同的级别实现了对系统的重构过程,详细介绍了 重构的原因、重构过程以及重构前后系统的差异。 第五章,总结和展望。对本文工作进行归纳总结并展望了课题的进一步研究 方向。 北京邮电大学1 ) 6 9 络与交换技术国家重点实验室第1 l 页共6 4 页 北京邮电大学硕士学位论文基于设计模式的语音增值业务管理平台的重构 2 1设计模式 2 1 1 设计模式的起源 第二章相关技术 设计模式并非软件领域提出的,它起源于7 0 年代c h r i s t o p h e ra l e x a n d e r 提出的 建筑设计模式:“每一个模式描述了一个在我们周围不断重复发生的问题,以及 该问题的解决方案的核心。这样,就能一次又一次地使用该方案而不必做重复劳 动州。他的著作( ( t h e t i m e l e s s w a y o f b u i l d i n g ) ) ( 中文译名:建筑的永恒之道) 说明了如何将模式应用到房屋构建以及邻近地区和整个城市的规划之中。他工作 的基础主题是居住场所的设计,不仅要注重功能性和流行趋势,而且要讲究舒适 感和欣慰感。良好设计的建筑可以展现清晰可辨而又难以描述和量化的内在特 质。简而言之,这样的建筑拥有“无名的质( t h eq u a l i t y w i t h o u ta n a m e ) ”乜1 。 为了达到“无名的质”,a l e x a n d e r ;i 丕提出了“门 和“道”的概念。“门 是通 向“无名的质的管道。“门”是通过一个普遍的模式语言来体现的,这个模式 语言使设计师能够创建多种形式的设计,以满足多方面的需求。“门 是普遍存 在的,是这些模式之间的关系,或是模式的“以太”,充满着一个特定的域。“道” 又称作“永恒的道”。利用“道”,从“门 演化到“质”的过程,就是把一些特 定的模式按照一定的顺序应用到系统设计上的循序渐进的过程。a 1 e x a n d e r 把从 “门 到“质”的过程,比喻为胚胎发育过程。胚胎发育过程的特殊之处是整体 先于部分而存在;整体通过分裂来产生部分。通过追寻“道”,可以通过“门” 到达“质”。a l e x a n d e r 认为这个过程就是任何一种工程设计包括软件设计的发展 过程。 a l e x a n d e r 的哲学观点有很深的道家渊源。他的著作甚至被人们称作“为技 术人员写的易经 。通过遵循a l e x a n d e r 的观点并且追溯到他的观点的道家起 源,可以将他的理论“投射到软件设计中。软件的设计,必须从软件的整体属 性,也就是软件的q w a n 出发;通过性能的分化,形成各个模块、各个用户界面、 各个类、以及各个方法。在软件的性能要求发生变化的时候,q w a n 是不会变化 的;一个软件如果能够保持q w a n ,就能保证在变化的世界中保持一个软件设计 的稳定性。这就是软件设计的永恒的道。软件工程学现在正处在产生自己的科学 哲学的前夜。具有中国文化传统的人们在这个重要关头享有很大的优势;因为现 有的这些设计原则和模式的研究与中国的道家思想的联系是何其紧密。 北京邮电大学网络与交换技术国家重点实验室第1 2 页共“页 北京邮电大学硕士学位论文基于设计模式的语音增值业务管理平台的重构 2 1 2 设计模式的发展 在软件领域,面向对象技术被认为是解决系统复杂性的有效方法,而且从事 理论研究的人员经过十几年的讨论和实践,逐步形成了完善的针对软件领域的设 计模式。在o o p s l a 大会上,设计模式逐渐成为热点话题。设计模式在实践过程 中不断提出,在归纳的基础上进行了理论的总结。1 9 9 5 年由e r i c hg a m m a 、r i c h a r d h e l m 、r a l p hj o h n s o n 和j o h n v l i s s i d e s 四人( 简称g a n go f f o u r ,缩写g o f ) 编著的 ( ( d e s i g np a t t e r o s :e l e m e n t so f r e u s a b l eo b j e c t o r i e n t e ds o f t w a r e ) ) p j 一书的出版被 定义成一个“里程碑”式的工作,虽然他们不是最早研究设计模式的人,但他们 第一次将设计模式进行分类并作了规范化的描述,提出了2 3 种基本设计模式,分 为创建型、结构型、行为型三种类型,采用统一的格式描述,并给出了c + + 的例 子来解释这2 3 种模式,从而奠定了面向对象设计模式的重要理论基础。事实上, 这本书现在己成为所面向对象程序设计工程师都必备的参考书。另外, b u s c h m a n n ,m e u n i e r , r o h n e r t ,s o m m e r l a d 和s t a l 等几位德国专家编写的 ( p a t t e r n - o r i e n t e ds o f t w a r ea r c h i t e c t u r e s ) ) h 1 ,将模式带到了系统的层次上。他将 模式划分为体系结构模式、设计模式和习惯用法三类,对g o f 模式的思想推广到 体系结构方面的,某些模式被归类为高层次的体系结构模式,如m v c 模式、层 模式等。 2 1 3 设计模式的原则 在系统设计中和系统重构中提倡设计模式的应用,其根本原因是为了实现代 码复用,增加可维护性。而在实现这一目标的时候,我们必须遵循一定的原则。 也就是设计模式所必须遵循的原则,只有这样的设计模式才是可行的解决方案, 才可以更有效的实现采用设计模式的目标。设计模式需要遵循的原则主要有以下 几种: 夺 “开一闭”原则( o p e n c l o s ep r i n c i p l e ,o c p ) 瞄 。是指模块应对扩展开放,而 对修改关闭。模块应尽量在不修改原代码的情况下进行扩展。扩展的方式最简单 的例子就是采用工厂模式,在设置好的接口下有多个子类,系统通过f a c t o r y 来管 理这些子类的创建。当有需要新增加一个实例的创建时,只需要在接口下新创建 一个子类就可以,而不需要去修改原来的结构和代码。 夺里氏代换原则( l i s k o vs u b s t i t u t i o n p r i n c i p l e ,l s p ) 。是由“b a r b a r a l i s k o v ” 提出的。其根本含义就是说如果调用的是父类的话,那么换成子类也完全可以运 行。j a v a 编译程序会检查程序是否符合里氏代换原则。在这里,必须符合j a v a 继 承的一个基本原则,即子类o v e r l o a d 方法的访问权限不能小于父类对应方法的访 北京邮电大学网络与交换技术国家重点实验室第1 3 页共6 4 页 北京邮电大学硕士学位论文 , 基于设汁模式的语音增值业务管理平台的重构 问权限。因此可以说,里氏代换原则是继承复用的一个基础。 合成复用原则( c o m p o s i t e a g g r e g a t er e u s ep r i n c i p l e ,c a r p ) 。指要少用继承, 多用合成关系来实现。比如,如果有几个类要与数据库打交道,于是便写一个数 据库操作的类,然后其他和数据库打交道的类都继承这个类。这样的结果是,当 以后修改了数据库操作类中的某些方法时,每一个继承子类都需要进行改动,牵 一发而动全身。而面向对象设计则是要求把波动限制在尽量小的范围。所以这种 情况显然是不适宜的。 夺依赖倒置原则( d e p e n d e n c y - i n v e r s i o np r i n c i p l e s ,d i p ) 也即针对接口编程原 则。意思是要求客户端针对抽象接口编程,而不要还针对具体实现编程。这样, 当需要更换子类的时候就不会影响到调用它方法的代码。依赖倒置关系强调一个 系统内的实体之间关系的灵活性。基本上,如果一个设计师希望遵循o c p ,那么 d i p 便是达到要求的途径。 令迪米特法则( l a wo f d e m e t e r , l o d ) 又叫最少知识原则( l e a s tk n o w l e d g e p r i n c i p l e ,l k p ) 。是指一个对象应当对其它对象有尽可能少的了解。“不和陌生人 说话 ,这样才能做到城门失火不会殃及鱼池。 2 1 4 常用设计模式介绍 2 1 4 1 体系结构模式 体系结构模式( a r c h i t e c t u r ep a t t e r n ) 描述了软件系统基本的结构化组织方案。 它提供了一套预定义的子系统来制定他们的职责,包括用于组织他们之间关系的 规则和指南【6 】。本文主要介绍几种常见的体系结构模式。 层( 1 a y e r s ) 模式 层模式有助于构建这样的应用:它能被分解成子任务组,其中每个子任务组 处于一个特定的抽象层次上。t c p i p 网络是层模式应用最著名的例子。层模式 从高层解决系统架构问题,将系统分成适当的层次,按适当次序放置,力求做到 每一层都相对独立,层与层之间的交互接口不变,接口实现的改变不影响其他层 的工作。最重要的一点是每一层都只与它相邻的层交互,也即如果最底层为第j 层,那么它只能和j + l 交互;第j + l 层也只能与第j 层和第j + 2 层交互,和其他 层没有相互动作。通常来说,就是每一层只能使用比它低的层次提供的服务,同 时提供服务给比它高一级的层次,不能出现较高层跨层访问的情况。 层模式的优点: 层的重用。如果一个独立层体现了一个良好定义的抽象且有良好定义和文档 化的接口,该层就可在多个语境中被重用。 北京邮电大学网络与交换技术国家重点实验室第1 4 页共6 4 页 北京邮电大学硕士学位论文基于设计模式的语音增值业务管理平台的重构 标准化支持。清晰定义和共同接受抽象层能促进标准化任务和接口的开发。 同一接口的不同实现可以替换使用。 局部依赖性。层之间的标准化接口往往限制被改动层的改动代码的影响。这 支持了系统的可移植性,可测试性。 可替换性。独立层实现不需要太费劲就可以被语义上等价的实现所替换。 层模式的不足: 更改行为的重叠。有时候某一层行为的改变可能更会影响到其他层,使得其 他层次也进行更改,出现这种情况一个可能是系统接口进行大的更改,还有可能 是原先的设计不合理。 降低效率。一个分层体系结构的效率往往要低于整体结构。如果在上层中的 高层服务很大程度上依赖于最低层,则所有的相关数据必须通过一些中间层转 换,且可以转换若干次。同样,由底层产生的所有结果或者错误消息也需要通过 若干层才能传送到最高层。这是典型的以时间效率换取系统在空间上的可理解 性。 不必要的工作。如果底层执行的某些服务执行了多余或者重复工作,而这些 工作并非高层真正需要,这对性能的影响是负面的。 难以认可层的正确粒度。层次太少的分层体系结构不能完全发挥这种模式的 可重用性、可更改性和可移植性上的潜力。相反,层次过多引入不必要的复杂性 和层问分离的冗余以及变元和返回值输出的开销。层粒度的确定和层任务的分配 是很困难的,但对体系结构的质量很关键。 夺 模型一视图一控制器( m o d e l v i e w c o n t r o l l e r ) 模式口1 m v c 把一个应用的输入、处理、输出流程按照v i e w 、m o d a l 、c o n t r o l l e r 的 方式进行分离,这样一个应用被分成三个层视图层、模型层、控制层。 视图( v i e w ) 代表用户交互界面,对于w e b 应用来说,可以概括为h t m l 界面,但有可能为x h t m l 、x m l 和a p p l e t 。随着应用复杂度的提高和规模的 增大,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,m v c 设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而 不包括在视图上的业务流程的处理。业务流程的处理交予模型( m o d e l ) 处理。 模型( m o d e l ) 是业务流程和状态的处理以及业务规则的制定。业务流程的 处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处 理结果。业务模型的设计可以说是m v c 最主要的核心。 控制( c o n t r o l l e r ) 可以理解为从用户接收请求,将模型与视图匹配在一起, 共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一 个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。 北京邮电大学网络与交换技术国家重点实验室第1 5 页共“页 北京邮电大学硕士学位论文基于设计模式的语音增值业务管理平台的重构 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用 户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都 应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通 知所有的视图,导致显示的更新。这实际上是一种模型的变化一传播机制。模型、 视图、控制器三者之间的关系和各自的主要功能,如图2 - 1 所示。 状态查询r 通知改变 l i l 视图选择 一用户请求一 图2 - 1m v c 组件类型的关系和功能 m v c 模式的优点: 同一模型的多视图。m v c 将模型严格与用户接口分离。因此多视图可以在 单一的模型中实现和使用。 同步化视图。模型的变更一传播机制确保了所有加入的观察者在正确的时间 被告知应用程序数据的变化。它将所有相互依赖的视图和控制器同步起来。 “可插入的视图和控制器。m v c 的概念的分离允许你交换模型的视图和 控制器对象。 “式样和感觉”的可交换性。由于模型独立于所有的用户接口,因此m v c 应用程序到新平台的移植并不影响应用程序的功能内核。只需为每个平台实现合 适的视图和控制器组件。 框架潜力。基于这个模式的应用程序框架是可能的。事实上,很多的w e b 应 用程序都已经遵循这个模式。 m v c 模式的不足: 增加了复杂性。严格遵循m v c 结构并不总是创建交互式应用程序的最好办 法。简单的应用程序强加m v c 模式并不会带来多大的好处。 潜在过多的更新因素。如果一个单一的用户动作就导致许多更新,那么模型 应该跳过不必要的变化通知。有可能不是所有的视图都关心模型中发生的变化传 播。 视图和控制器之间的紧密连接。控制器和视图是分离的但又是相关的组件, 它妨碍了他们的单个重用。一个视图离开其控制器使用好像是不可能的,反之亦 然,例外情况是共享忽略所有输入的控制器的只读视图。 北京邮电大学网络与交换技术国家重点实验室第1 6 页共6 4 页 北京邮电大学硕士学位论文 基于设计模式的语音增值业务管理甲台的重构 视图中数据访问的低效率。依赖于模型接口,视图可能需要做多次调用来获 得所有要显示的数据。这也是为实现程序可重用和可移植要付出的代价。 其他的体系结构模式还有表示一抽象一控制( p r e s e n t a t i o n a b s t r a c t i o n c o n t r o l , p a c ) 模式,过滤器和管道模式,黑板模式等等。 2 1 4 2 j 2 e e 模式 j 2 e e ( j a v a 2p l a t f o r i l le n t e r p r i s ee d i t i o n ) 平台是分层系统,所以我们将j 2 e e 的层次模型化,这个模型使得我们将职责逻辑地分到不同的层中,共分为五个层 次:客户层、表示层、业务层、集成层和资源层。因为客户层和资源层并不是 j 2 e e 平台直接关注的问题,所以j 2 e e 应用模式全部属于上面五层中的中间三 层,其中表示层模式包含与s e r v l e t 和j s p 技术相关的模式,业务层模式包含与 e j b 技术有关的模式,集成层模式包含与j m s ( j a v am e s s a g es e r v i c e ) 和j d b c ( j a v ad a t ab a s ec o n n e c t i v i t y ) 有关的模式。表2 一l 、2 - 2 、2 - 3 列出了j 2 e e 常 用了1 5 个设计模式。 表2 1 表示层模式 模式名 简单描述 截取过滤器( i n t e r c e p t i n gf i l t e r ) 促进请求的预先处理和后处理 前端控制器( f r o n tc o n t r o l l e r ) 提供请求处理的集中控制器 视图助手( v i e wh e l p e r )与表示层格式化无关的逻辑封装到助手组件 工作者服务( s e r v i c et ow o r k e r ) 合并分发者组件、前端控制器和视图助手模式 复合视图( c o m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国污水处理行业市场现状竞争格局与产业发展前景评估规划报告
- 2026中国物流仓储行业市场供需结构及投资发展评估报告
- 2026太原站客服面试题及答案
- 2026特殊情况面试题及答案
- 2026及未来5年中国去水器不锈钢圈数据监测研究报告
- 2026及未来5年中国剪刀型卧式带锯床数据监测研究报告
- 2026及未来5年中国冻畜肉数据监测研究报告
- 2026事业单位工勤技能-广西-广西医技工一级(高级技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-广东-广东殡葬服务工一级(高级技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-广东-广东兽医防治员三级(高级工)历年参考题库含答案详解3套试卷
- 晶体缺陷调控方法-洞察与解读
- 单位采购付款管理制度
- 酒店财务制度操作流程
- 饲料生产粉尘清扫制度
- 上海保安证考试题库及答案
- 2025浙江温州瓯海科技产业发展集团有限公司及下属子公司招聘调整部分岗位笔试历年常考点试题专练附带答案详解试卷2套
- 2025 GOPS 全球运维大会暨研运数智化技术峰会·北京站:AI赋能的新一代CMDB智能运营场景创新实践
- 橄榄青果购销合同范本
- 企业管理层培训考试题
- 党支部自查自纠存在问题及整改措施
- ECRS四大原则课件
评论
0/150
提交评论