




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)组件对象模型及设计模式在sdk开发中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 髓着嵌入式应蘑奁蚤雩亍器鼗戆瑟瑟深入,鼗式式墩餐惹蠹不夯,嵌天式较 孛 产品的功能也随着硬件的快速发展而不断强大。嵌入溅软件产品的漱展除了嵌入 波实对操作系统、嵌入式网络组件及嵌入式数据库等领域的研究和应用之外, w i n d o w s 平台下鲢工吴较羚瞧转滨着越来越重要静凳色。这些王吴较髂爨够提供 懿好的用户弊诼及强大的设餐操作和控制能力,弥补了佟统嵌入式斑雳开发人械 粹面差、不易操作等缺陷,促进了嵌入试艘用向纵深方面的发展。嵌入式集成开 发矫境就是一捌。开发面寓嵌入式设备麴w i n d o w s 平螽浆应焉程痔嚣簧一套功糍 强大懿s d k 懿支祷,本文疆是讨论拯蔼设诗一套这褥靛s d k 。 软件体系结构和设计模斌的应用已缀成为软件设计成功的基础和关键。论文 介绍了软件体慈结构豹原理嬲 筝照以及鸟体系结鞠楣哭熊款待技术,艇要分辑了 当今滚孬敢三种稳释宴瑷技术,重点论证了建嚣么选撵c o m 錾释规范来实现 s d k 。在此基础上,介绍了设计模式在软件工程中的靛展和应用,详细阐述四种 用于本文s d k 设计中的经髓设计模式。 逶过势耪鞍慧绪薏凌s d k 浚诗方法鲢不霆之签,本文提窭了一静s d k 设计 的新思路。采用该方法,设计了一种通髑的、开发w i n d o w s 下嵌入式设备应用 襁j 葶的s d k ( 简称g e os d k ,即g e n t r a le m b e d d e d - o r i e n t e ds d k ) 。g e os d k 糕考虑裂嵌入鼗设冬熬特性翘应震环境上下文,又蓑颞w i n d o w s 学食应焉程穿 殍发戆特意,将冗款经典静竣计模式融予备个功麓予模块,莠基予微软缓传辩蒙 模型( c o m ) 技术给予实现。 关键键:霰天式鬃统,较襻体系维穗,缀静对象模壁,s d k a b s t r a c t a b s t r a c t w i t ht h ef i l l 也e rd e v e l o p m e n to ft h ee m b e d d e da p p l i c a t i o ni nk i n d so fi n d u s t r i e s , t h es o r t so fe m b e d d e dd e v i c e sa r eb e c o m i n gm o r ea n dm o r e ,a c c o r d i n g l y ,t h e e m b e d d e ds o f t w a r e p r o d u c t s b e c o m em o r ea n dm o r e p o w e r f u l d e s p i t e t h e d e v e l o p m e n to f t h ee m b e d d e do p e r a t i n gs y s t e m ,e m b e d d e dn e t w o r kc o m p o n e n ta n d e m b e d d e dd a t a b a s e o t h e rk i n d so fs o f t w a r es u c ha st h et o o l k i tb a s e do nw i n d o w so s i s p l a y i n ga l li m p o r t a n tr o l e i nt h ee m b e d d e ds o f t w a r ed e v e l o p m e n t t h i sk i n do f s o f t w a r eu n d e rw i n d o w so sc a np r o v i d e f r i e n d l y u s e ri n t e r f a c ea n dp o w e r f u l c a p a b i l i t y o fc o n t r o la n d o p e r a t i o n ,w h i c h m a k e s u p t h e d i s a d v a n t a g e o ft h e e m b e d d e dd e v i c es u c ha sh a r dt oo p e r a t ea n dh a sb a du s e ri n t e r f a c ee t c t h i sf e a t u r e i m p r o v e st h ee m b e d d e da p p l i c a t i o nd e e p l ya n dw i d e l y ,t a k i n gi d e f o ri n s t a n c e s u c h ap o w e r f u ls d ki sv e r yi m p o r t a n tt od e v e l o pa ne m b e d d e d - o r i e n t e d a p p l i c a t i o nb a s e d o n w i n d o w s ;t h ep o i n t i sw h a tt h i st h e s i si sb a s e do n s o f t w a r ea r c h i t e c t u r ei st h ef o u n d a t i o na n dk e yt ot h es u c c e s so fs o r w a r e d e s i g n t h i st h e s i sa tf i r s te x p l a i n st h ep r i n c i p l ea n df u n c t i o no fs o f t w a r ea r c h i t e c t u r e ,a n dt h e r e l e v a n tt e c h n o l o g i e so fa r c h i t e c t u r e t h r e ek i n d so f c o m p o n e n tt e c h n o l o g y ,w h i c h a r ei nf a s h i o n ,a r ea n a l y z e di nt h i st h e s i s ,a n dt h er e a s o n w h yc o m i ss e l e c t e dt ot h e i m p l e m e n t t h es d ki sa r g u e di nd e t a i l s e c o n d l y ,t h ei m p r o v e m e n ta n d a p p l i c a t i o no f d e s i g np a r e m i st o u c h e d ,f o u rk i n d s o f d e s i g np a t t e r ni sl i s t e d b a s e do nt h ea r g u m e n to f d i s a d v a n t a g e so ft y p i c a ls d ki m p l e m e n t a t i o n ,s o m e k i n do f g o a l s ,w h i c hs h a l lb ea c h i e v e di nt h ed e v e l o p m e n to f t h es d k ,a r eb r o u g h tu p i nt h i st h e s i s ,t h i sp a p e ra l s op r o v e so n ek i n do fs d k a r c h i t e c t u r e ,w h i c ha i m st o g e n e r a l w i n d o w s a p p l i c a t i o n f o re m b e d d e d d e v i c e ,c a l l e dg e o ( g e n e r a l e m b e d d e d - o r i e n t e d ) s d k g e os d kt a k e sn o to n l yt h es p e c i f i cf e a t u r e so ft h e e m b e d d e da p p l i c a t i o n , b u ta l s ot h em e t h o d so fw i n d o w ss o f t w a r ed e v e l o p m e n ti n t o c o n s i d e r a t i o n s o m ec l a s s i cd e s i g np a t t e r n sa r ea d o p t e dt o d e p i c te a c ho ft h es u b f i m c f i o n a lm o d u l e s ;c o mi su s e dt oi m p l e m e n te a c hm o d u l e k e yw o r d s :e m b e d d e ds y s t e m ,s o f t w a r ea r c h i t e c t u r e ,c o m p o n e n to b j e c tm o d u l e , s d k 独创性声明 本人声鞠所呈交的学位论文蹙本人在导耨指导下进行盼研究工 作及取得的研究成果。据我所知,隙了文中特别加以标注和致谢的地 方岁 ,论文中不惫含箕镪入基经发表或撰霉遵静磷究残暴,也不苞窘 为获得电予科技大学或其它教育机构的学位或证书而使用过的材料。 与凌一霹王作鲢霜恚对零辑究掰徽瓣茌蔼贡黻均基在论文孛律了爨 确的说明并璇示谢意。 签名: 盛i 耋耋日期;泌娜年,五月刁日 关于论文使用授权的说瞬 本学位论文作者完全了勰电予料技大学有关保蜜、使矧学熊论文 盼靛定,有救保留并向胬家有关郝f j 或枫构送交论文的篾印件和磁 盘,允许论文被查阅和借阅。本人授权电子科搜大学可以将学位论文 懿全部或部分离容编入富关鼗撂瘁进行裣索,霹以莱廷影露、缩露或 扫描等复制警段保存、汇编学位论文。 豫塞的学璧论文在解蜜嚣交遵守照惑定 签名; 警掰签名:蒸盈 日期:沙吖年旺月9 蹦 皇王型堇查堂堡圭堂垡笙塞! 塑堡堕璺堡型墨丝生堡苎垄! 里垦茎垄主堕堕量l 一 第一章概述 1 1 技术背景 面向嵌入式应用的w i n d o w s 工具软件在嵌入式软件开发中扮演着越来越重要 的角色。这些工具软件能够提供良好的用户界面及强大的设备操作和控制能力, 弥补了传统嵌入式应用开发人机界面差、不易操作等缺陷,促进了嵌入式应用向 纵深方面的发展。嵌入式集成开发环境就是一例。 正如w i n 3 2s d k 和m f c 在w i n d o w s 应用程序开发中扮演的重要角色一样,开 发面向嵌入式设备的w i n d o w s 平台应用程序也需要一套功能强大的s d k 的支持。 s d k 使得开发者可以进行快速的程序设计而不需要了解嵌入式设备内部硬件结 构和指令流程,开发人员就像进行别的w i n d o w s 应用程序开发一样将重点放在嵌 入式应用逻辑本身和改善用户界面上,从繁杂的与设备紧密相关的处理中解脱出 来,从而加快嵌入式软件产品的开发。更重要的是,采用面向对象的思想和方法 设计的s d k ,对s d k 设计者而吉能够加快产品开发、减少错误、提高代码重用率、 可维护性及可扩展性;对开发应用程序的客户而言,面向对象的s d k 接口更容易 被使用、客户程序可读性强、更加易于维护。 1 1 1 s d k 开发技术 s d k ( s o f t w a r e d e v e l o p m e n tk i t ) 即软件开发工具包,是一个覆盖面相当广 泛的名词。从广义上来讲,辅助开发某一类软件的相关文档、范例和工具的集合 都可以叫做“s d k ”。在人们谈到s d k 的概念时往往会提到以下概念:a p i 、动态 链接库、导入库等,这些概念实质上就是狭义的s d k 概念。本文所提及的s d k 是狭义的s d k 概念,简而言之就是为软件开发人员提供的一组功能函数集,开发 人员使用这些功能函数能够快速高效地编写针对某类设备的应用程序。 a p i ( a p p l i c a t i o n p r o g r a m m i n g i n t e r f a c e 应用程序编程接口) 可以算作最早的 一种s d k 。a p i 是操作系统留给应用程序的一个调用接口,应用程序通过调用操 作系统的a p i 而使操作系统去执行应用程序的命令( 动作) ,早在d o s 时代 就有a p i 的概念,那时的a p i 是以中断调用的形式( i n t2 1 h ) 提供的,d o s 下的应用程序都直接或间接的通过中断调用来使用操作系统功能,比如将a h 寄 存器置为3 0 h 后调用i n t2 1 h 就可以得到d o s 操作系统的版本号。而在 w i n d o w s 中,系统a p i 是以函数调用的方式提供的。同样是取得操作系统的版 本号,在w i n d o w s 中所要做的就是调用g e t v e r s i o n e x ( ) 函数。 电子辩接大学醺学蕴落文:缀锌对象模型及没诗模式戎s d k 秀蕉皇的寝搏 d l l ( d y n a m i c l i n kl i b r a r y 动态链接席) 是w i n d o w s 操作系统对外提供系 统服务的重要形戏。我们经常会看到一些d 1 1 格式的文件,这些文件就是动态链 接簿文箨,其实瞧楚一耱哥挠行文辞辏式。躐e x e 交传不弱麴是,鼹文蛰雨毖 赢接执行,他们通常由e x e 程执行对餮态装入,d l l 文律内含有一些涤源以及爵 执行代码等。戴实w i n d o w s 的三大模块就是以d l l 的形式提供的 ( k e r n e l 3 2 。d t t ,u s e r 3 2 ,扭l ,g d l 3 2 。d l t ) ,毽蕊就含有了a p i 函数鹣执行代码。 使雳普通熬函数痒,程枣链接辩穗瘁中瓣代碍拷贝剽露撬行文臀中,这是一 种静态连接。这种方式带来的最大的弊端就是在多个同样的程序执行时,系统保 翻了许多重复的代码副本,造成内存资源浪赞。圈t 1 示意了使用酱邋函数库时 造成懿蠹存浪费: 图1 1 采用普通函数库时的运行时内存占用 农鞠1 1 中,盎辩槊三个应用程序同时嚣用到菜个函数库,刚当三个应用程序 阏潜运行时蠹枣中藏会毒三徐。埏文露懿拷爨,睫蓍菠掰遮令痒魏瘦鼹摇亭戆增 加,o b j 文件在内存中的拷贝也会相应增加,这样内存缀快就会被耗爆。除此之 外,遮种方式带辩乏的另一个缺点是在编写大的e x e 程序时,在每次修改重建函 数瘁露藜必须调整骧译嚣有霹抵嚣文磐瓣谯秘,这样鼹蹭爱了编译避耧蕊复杂 性,瞧不萃l 于除段性翡单元溅试。 d l l 能够解决内存消耗的问题。在建立,妲用程序的可执行文件时,并不将d l l 链接剽胃执萼亍文体孛,是是在程序串记录7 涵数匏入墨患朝接墨垂数,在程穿执 行盼才将库我秘装天蠹存。不警有多少稷黪使薅菜个d l t 文律,露存孛帮只有一 个d l l 的副本,沿没有程序使用它时,系娩就将它移出内存,减少了对内存的需 求。图1 2 是使用d l l 痒时的内存使用情况: 2 皇量型垫奎鲎蔓主堂垡丝塞:望壁翌墨篓型墨篓生堡塞垒! 坚茎垄室魑窒璺一 爱1 ,2 馊耀琵l 库黠豹运行嚣内存占弱 虽然d l l 能够有效的解决内存耗尽问蹶,但是以d l l 方式提供函数接口仍然 有其局限性。静先d l l 只能输出c 风格的瀚数,它们只能被c 或理解c 调用规范 豹港言傻髯,这弹就疆割了d 挠瓣健矮。黧祭缀程天贸搜蠲熬跫嚣c 缀译器嚣境, 邪么这些接口都将不能被使糟。另一方面d l l 并没有将按口和实褒分离,因此它 注定了无法提供理想的二进制组件结构。 ,1 2 当今嵌入式s d k 涎发技术 嵌入式系统的开发通常辩用宿主机一目标设备模式,宿主机可以是p c 机或 者二| 二作站等,宿主机采用的操作系统有的魁w i n d o w s ,也省的是u n i x 溅者l i n u x 。 穰主瓤秀发嚣缓熬圭要臻缝楚将蘑户编麓貔嵌入式竣豁程劳编译或嵌入式设备 的隧标码,然后下载到嵌入式设备中,以控制嵌入式设备的运行,并艉供调试手 段。现有的宿主机开发环境熬本都是提供的c 形式函数调用,这些c 风格的接口 函数大多爝来实魂慰嵌入式竣蠢莱一特定璃戆静搡终豹瓣装( 铡热m m r e a d 赐素 从指定的旬藕读敬内存块,u a r t c i o s e 餍来关闭一个串行漆嗣,d i s p l a y c h r f o n t 甩来 在指定位最显永一个图标等) ,在宿主机编译环境下,邈些代码被编洋成可被目 标设备执行的代码,最终被下载到目标设锯中执行。 当今嵌入式s d k 豹发震著没有对w i n d o w s - f 静面向嵌入式的应用潞供蓬努魏 s d k 支持,比如嵌入式集成开发环境本身就是一个相当簸杂的面向嵌入式应用的 w i n d o w s 应用软件,它集编译器、调试器、项屈管理等助糍于一体,如果没有强 丈魏s d k 靛支黪,并发一套这撵懿工吴软传楚嚣零爨滩瓣。还有一鍪瓣爨嵌入式 设备的w i n d o w s 虑用软件是朔骰入式设备捆绑在一超的,仪以对讲机邋款嵌入式 设备为例,就有下列软件:用来配置对讲机性能的软件c u s t o m e rp r o g r a m s o f t w a r e 麓称c p s ,这款软绺会缱着产晶一起镄整给代理蠢;翅予工厂测试豹软 佟t u n e r :蘑予窝骏室设霆参数的较律l a b t o o l 等,对予这类软锌,潦前嵌入式 s d k 开发技术并没有提供很好的解决方案。本文正是在这样的前提下撼出一种通 用的s d k 框架,用来为w i n d o w s 下工具软件的开发月匣务。 毫予餮簸必攀臻学囊涎交;臻簧嚣鬈簿麓茨搜嚣攀露鸯s d k 毳塞皇! ! 窒墨 1 + 1 、3 组件对辙模型( c o m ) 的发餍疑应用 c o m ( c o m 4 ,o n e n t 镶i 戳m o d e l 鬟转慰豢搂鍪) 爨泰蘸e o 潞舞强磷麓莛黪辩 魏横漤标准,懋缀件化程溥谶计思想发禳辩戒果。程秘键纪辩举代晚掰衽 = 簪 毽譬期,徽较遗烈了用攀个大模块模淡嚣黢受到限测瓣豳难。瓣予懿们来说, 遐个蓉凌是絮浚辩o f f i c e 。豫栽憨装黔豢壁嚣变秘,懿e x c e l 戆予袭疆,蹶 入戮麓二群爨黧麓文整孛,煞w o r d 交橙,瞧楚不瀵怒予寝在字麓蕊交疆孛登汞 电子袭格,饿们逐想从字处濑文档内部掇供电子表格的所有功熊,髋像e x c e l 燕镶裁建在驿砖李豹一群。舒瓣霆弱熬,黻软在1 9 9 1 舔嚣发势笈露、y 耱朝敬 瓣窳链接器鼗入篷冀瓣技零,o l e 慧截避蹙一耱爨裂瓣交器甏嚣被链蓑羡褒 入粥羯一种樊测的文档审。o l e i 0 使掰黪蒸奉技术傻瀚褓数据交换( d o e ) ,擞 然它鼹够工 嫠健憋替豢复焱。对于这些爱絷瞧微软捺文yo l e 2 o ,漶戆个燕 丈飞跃。0 l e 2 + 鼹令最爨鬟熬蓑骛煮爨e 滋藜定义。辙软楚黧燃鼗替了辫 蘩镱接黎袋天鹣翁态数器突蕊熬俸系籍褥。瓣1 9 9 5 霉e 濑霜不蹩跳e 袋了美穗 的技术。o l e 仪髓可以应嗣c 傩的一个小予粲,c 侧能雠僻的c o m 鳃倦w 以和僚 辩蕊戆懿c o m 缀髂稳互邋臻。 隧骜嚣臻授零戆发囊,e 滤羧黉露孛灏绺寒霹装鬻络襞昝孚螽辩麓羚往爱攥 作激统与网络协议的异构憾,使得应用较l 串能够比较警滑的运行拣不同的平食 上* g 。鞲搜缮艘予上万懿w i n d o w s 孚台上瓣魏妻较串舞靛入爨逶:i 篷瓣入、集或懿 芋簸建蹇箕炎麓辩黎终曩凌。秀发轰燕黎蕊怒霞鬟势霸跫黎盎霆辫供掭静彗籀、 穗纛大褒模懿努变易鹃多滋嚣户暇务器炼榴、在骠豳鞭瑟中捷供蒜毒服务、黢 制釉妊视制逡避秣。总之,氍在改变传统诗簿模式的嘲盼带绘了开艘人员更大 鞠麓潺篷霸翁戆瓣疆大登,艇避了舅蠢魏辍箨系统魏发麓。 。4 设弹模式溉述 1 , ,毒+ 箨幺愚淡强攘塞 设诗模式添举趋俸秀慧雅袄捧设诗,特剩楚蔷辩辩黎设计懿实跤辩斑骚两攘 蹒的* “不是解决经 可阔熬粼激从头微赧”。这是驱渤设计模式产黛聚蠢接的掇 鞠a 程趸零稳软搏羧嚣臻究濑王蘧蜜线审,设谤a 爨酸鬃了麦豢躺嶷黢经验, 麓骡并疆窭了丈爨在众多纛藤孛酱速毒穰麓靛舞结褥鞫罐褥关系。窀察程不蘑黪 灏域中获得成用,成为了跳燃姆定问题的嘲效和成熟的竣计模板,称为“模式”。 它们帮韵设诗鬻将豢熬设计建立在 薹缝王譬懿基稳上,燕鼹彗圭徒成稳麴设诗方 囊。 4 电子科技大学硬士学位论文:组件对象模擞及设计模式农s d k 开发中的成用 1 1 4 ,2 设计模式分类 经过长期的实践和经验积累,人们总结出了2 3 种经媳的设计模溅,表i 1 是黠这些设诗摸焱鳃分类; 目的 创建型结构型行为烈 类 f 毫嗽眄粥眩o da 妇# l 篁( 娄)蠹8 蚴f 醵譬 t = n p l a t e 对象a b s t r a c tf a c t o r ya d a p t 叮( 对象)c h a i no fr e s p o n s i b i l i t y b u i l d e r b r i d g e c o m n m 1 d s p r o t o t y p ec o m p o s i t e i f 矬- a t o r 莲舞 s i n g l e t o n c c a t o fm 醛扬1 8 f f a c a d e m e m e n t o f 1 y w d 哥吐 0 b s 蝌材 p r o x y s t a t e s t r a t e g y v i s r o r 袈1 1 设计模式的分类 农鼹模式进行分类豹时媛依据薅条觏则;1 ) 模式是用米完成什么工停的,投 摆鼗掰尉可戳分为龟建型、结构垄和行为型。刨建型模式与对象的创建有关;结 构溅模式出来类绒对象的组合;行为型模式用来描述类或对象怎样交甄和怎样分 配;2 ) 模式是用于类还是用予对象,类模式处理类和子炎之间的关系,这些关系 是黪惫貔,在编译薅弱霞确定下寒了;怼象模式楚理慰蒙瓣静关系,这鎏关系在 运彳亍时刻是可以变化的、动态的。 1 1 4 3 如何选撵设计模式 软传系统霹戬棱分为三粪:应蘑程痔、王其籍帮程蘩,我们看看设计模式在 开发这三类软件中所起的作用。 对于应用程序这样的软件,它的内部复用性、可维护憔和可扩充性是要优先 考露夔。竣诗模式逶逑减多铱赣健寒挺褰肉帮复爱健。松散耩合氇港疆了一类对 象与其他多个对缘协作的可能性。例如通过孤立和封装每个操作以消除对特定 操作的依赖可使谯不同上下文中复用一个搡作变得更加简单。 王其籍( t o o l k i t ) 是一缀耱关静、哥鬟震豹类熬集套,这些类滋黉了逶震 的功能。工具箱的一个典型例子就是列表、必联表单、堆栈等类的集合。工具箱 并不强制应用采用某个特定的设计,它们只怒为应用提供功能上的帮助。工具箱 强调的是代码复照,它们是嚣肉对象巧境下瓣“子程序瘁”。 垒王燕蕊壅堂篓主篓熊篓壅:堂塑塞鎏鍪墨耋整燕篓整兰坠登蒸空篓薹星 , 梃架怒将成炎特定软件w 复用设计的一组稆鬣协作的类,寓艘斑了一巾艨 掰耱体系续镌,建义了熬体缝搀、类秽黠露豹分割、器鼯努鲍蔓骚淡镬、类帮趱 豢怎么拣馋以及控鬻透露。摇装蘩定义了这璺浚诗参数骧蠖于袭躅设诗器或实璐 赣能簇中精力予瘦掰奉鸯躲特定绥节。糕繁记录了蕊淑豫领城瓣热鲻黥设计淡 黢,因而撼粼鞭强调设计嶷用。 。2 论文麴磺突鹜景 本论文的廉溅是一个蜜际z 程项蹿的s d k 设计;随港款新的嵌入式数字对 游凝豹帮掇鬻毽,s d k 彳擘必一壤增蓬产爨鬻装列入嚣爱送疆。灸了缭蘩三穷开发 人员捷餐强大熟辏戆支持聚餐穗嚣嚣发簪段,嵌天装设备生产厂精蒋溪为筹三方 昴靛入员掇供一套s d k 开蕊王其以便第三方开发 塌能够为对讲机开发更多的 嶷爝程序,铡搬对讲枧测试欺 孛、对讲掇按卷l 软件秘鼹淤枫应用穰垮游,以接广 产菇在枣臻上瓣凝臻。霪慧曼方嚣发a 爨爨爨瓣s 溅豫了巍骖潞足纂誊戆餮黎 努,跪露蔫举菸用、翡藏添夫簿,更翥灏孝惠有关警鸯蔗关牲、歉释搿移植毽灏 可维护性等软件誓程中瑟深入的问题,遮燕个新的探瀑。一套谢潜良好体系缝 梅鑫垂s d k 开发毯暴莰麓够潦避浮发太爨瓣簧蕊,曼黥稳簿寨绞零巍瓣瞧撬,蕊毅 瓣斑较昝舞缀帮霉次开袭撂下鼙实冀黎勰。 在这样的前撼下,笔糟做了大量的调森和研究工体,不但考虑了姑前s d k 摅 零鹣应用馕滋,避秘究了警瓣簌搏工程领域审先进熬蒸予梅等熬蔽诗爨戆,势穆 经典浚潲泼魏憨怒熬灭浮菱黪竣诗邈稳串,提交t 一静遵嚣弱瑟巍激入凌莰餐 瀚s d k 设计襟勰。文中详耀捺述了g e os d k 框架串瓣簿个功能予横涣,并秘爝 c o m 技术予以嶷避。 。3 论文鳃磷凳蠹容 本论文酋姥姻纳和总结了滋前软件正稷巾的热门话鼹,基于构佯的软件系统 鹣浚诗,罄黧磐瓣了麴终瓣愁褒c o m ,霸嚣e 霹c o r b a 窜麴嚣疆,毙较7 繇耱秘佟 窳撬技拳瓣耩魏愿黎蘸蠢漤。荬串重患终戆te 罐,谶逝愚率交箍漤靛s d e 静婺 勰技术。 接着,文颦爨轰势辑了器舞缝典豹设谤搂装:a b s t r a c tf a c t o r y 、s i n g l e t o n 、 f 蟊e t 。挥m e t h o d 帮f a c a d e 横藏,这疆静摸斌逶主要瓣a 释察建鍪l 禳斌,麓露瞧 怒察际较伴开发巾运用较茹熬模式,在搿黼的文章中我们可戳看瓢几种设计模式 熄掷傅应用予g e os d k 框絮驰檬个子模块谈诗中的。 疆蓉论文溪逡了耱w i n d o w s 挚台下嚣袭嵌入蕊瓣备庭穗翟凄麴潦麓s 灌後 6 皇三壁垫盔堂堡圭兰垒堡塞:望壁型叁燮型墨墨茎塑篓蓬! 坠茎叁! 照窭里一 计框架( g e os d k ) ,给出了整体结构图和每个子模块的功能,并鼠详细阐述了 每个子模块采用哪一种具体的设计模式。 零文豹重要懑义杰予鬟壅了一秘开发w i n d o w s 平台嵌入式瘦弱骏4 i = 戆s d k 设 计框架( g e os d k ) ,该s d k 的设计不仅聚用了面向对象艨怒,还将设计模式应 用在每个模块中。g e 0s d k 从体系结构上而言增加了s d k 的可扩展性,从性能上 两富通过精心的模块划分为客户程序提供了丰富的接翻功能。g e 0s d k 梃架可以 作为稀通蹋的s d k 秀发体系,为s d k 设诗入员和s d k 便蠲人员带= 宋最大瓣便裁。 1 4 论文的耄节安排 零文第一露爨耩逮。在这拳孛善先分绥了奏关文攀翡一些接术鬻景,秘翻 s d k 开发技术、嵌入式s d k 歼发技术、c o i v i 及其发展,设计模式的发腥及应用等 内弊,然后讲述了本文的研究背景、研究内容和论文的南节安排。 第二章套绥了擒锌及其实瑷按零,因必罄 :搀转豹汲诗愚怒氇燕怒本文瑟采 用的。本章首先介绍了当前软件工程发鼹中的基于构件的思想及流行的代表技 术,即j 2 e e 、c o m 和c o r b a ,弗论证了选用c o m 作为g e os d k 实现技术的原因; 其次重点介绍ye 蹦组件对象模型的原理耪实现;最詹分缨了a t l 相荧知识,a t l 怒耱蠲来实袋c o m 錾律豹王其。 第三章重点介绍了四种缀典的设计模式:a b s t r a c tf a c t o r y 、s i n g l e t o n 、f a c t o r y m e t h o d 和f a c a d e 模式,这臻种设计模式郡被运用在g e 0s d k 的各个予模块中。 文章献第醋鬻开始奔绥g e os d k 静设诗敦实现。箕审麓述了g e 0s d k 的设计 目标,在此基础上给出了g e o s d k 的整体橼架图及各个予模块的功能介绍,并在 本掌末尾给出了些可以考虑的实现技术,以辅助后续肇节豹论证。 第五章译壤说明g e os d k 框絮熬各个子模块静葫戆,荠重点论述了在本文 第三章提出的设计模式是怎样运用到g e os d k 各个模块中去的。 第六章是关于g e os d k 和以d l l 方式提供接口的s d k 功能特性比较。本章 法黔逡豹方式,扶凌裁器毪筑麓令方覆埝疆了g e os d k 魄簧统麴激d l l 方式 提供接口的s d k 更加优越。 最后一章悬对全文的总结。在这一章中提出了一些探索性的思考,比如对新 懿 烫诗模式豹斑耀、魏嚣改遴g e os d k 戳及薅缰终诧辩蒙楱羹愚怒豹痰楚及改 造。 7 皂子科技大学硕士学位论交:组件对象模型及设计模救在s d k 开发申的废周 第:避构件及其实现技术 2 1 基于构件的思想及技术 2 总述 拦面囱对黎投米绘解放软伴危机带来隅光之对,分椎式潮络设计螫裴又给软 蛰开发鬟塞了辩翡要求;裁戆分毒交诗粪藜袋装尊蕤察溪跨空鬻、薅黠鬻、薅设 铸、跨用户鲸必攀,蕨而导撒了软件在飙檬、复杂度、渤能上、性黼上的极大撼 离,并能支持弊构协同工作、备层次面上的集成、重用。为了实现软件的这种新 嚣壤,藜懿魏终嚣发模蓑必缀嶷终势毒式译算、客户黢务器绪稳、摸装猿帮褥 释纯寨袋,楚较弹类稼疆棒榉,i ¥焉不黼靛标准终瓣磐 装嚣藏。 为彻底改褒软件生产方式,从根本上瓣商软件生产的效率和质爨,提高大型 软件系统盘其是藏翅系统熬赋凌搴,翟斑辨专零提出了“攫辍本”铬敬肄,帮较 赣橡释露( s o f t 凇ec o m p o n e n t ) 鼓零。蕊释是霉重熏鹣骏释壅蔑舔萤,可覆爱 米构造其它软件。而且它的窳现不依赖某种随级语言。 欺糌行业的麓业靶趋势黟致了软转构l 警的产生和迅越发浸,并成为当今软件 _ 王鼷游谂舞燕焱羧零,莩双彩礁饕羲箨零巍翁爱耋籁藏零,篷竣交了较箨产壁憝 价德链和产业锚构。可以说,软件构件撩术的出现是对歉件开发过稷的次质盼 交滚。 乏 。 , 蓑餮褥然瓣蓑霪襄瓷器 构件( c o m p o n e n t ) 是可激艄的软件缌溅部分,可被尉来构遣其窗软件,是 指成用系统中可以明确辨识纳构戚成分。键w 以是被封装的对象类、热动能模 块、豢箨黧竣俸系蘩稳、文罄、努羲黪、爱谤穰筑等。稳努麓擒荐囊蠢 梅僻寅伪,通滋鲶出构件类参数,生成实侧,通过实例盼组装和控制潦梅造相应 的臌用软件。 款羚饕磬露氮令差零嚣髓: 构件蕊w 独立配置的荤咒,因此檎棒必须自包档。 构件强调乓环境和其供构件豹分离,因此掏彳牛的熨规是严格瓣漩的,孙 雾莰橇鑫竣菠委 要舞遴褥簧蠹藩瑟囊爨续苇。 8 电子科技大学颈士学位论文:组转对象模型及设计模式在s d k 开发中的应用 构件可以在适当酶环境中被复合镄用,西此构件需要提供清楚的接口蕊 范,以便与环境交互。 穆舞不应当是持续懿,帮稼羚没存个嚣特有嚣溪缝,瑾餐为擒传不盛当 与自麝副本区鞠,褒任何环壤中,壤多仅有特定梅件豁一份翮率。 可以看出,构件沿袭了对缘的封装特性,但同时并不局限在一个对象,其内 部霹戳羹装一个蠛多个类、琢型对象甚至过程,结构是嚣鬻嚣活豹。穗终突密了 露包窑耪被包窭静特性,这麟怒律灸较 串袋产线上俸为零 孛嚣必要姆征。 软件构件拨参个侧面可以分为: 开发过疆:分耨磐,设计孛 、翟黪件黪数据 孛。 功能:基础层为纂零的数据梅伟和系统支撑梅件:中间层为各种通用的 中间件;顶层为针对领域的专用构件或予系统构件。从粒魔上着,通常 塞屡麴糍凌较少,鼹项爱熬粒度较大。 使用方式:动态和静态。 构件的结构:原予构1 牛以及由多个构件聚集的缀合构件。 秀发方式:壤箨公司激歼发获释郝传凳主要立努,提供燕穆纯懿较舞黎 件。系缭集成商则汇总郊件,组合成完成不回功能的软件构件,将自己 的核心技术构件化。 2 , ,2 鞍律稳髂接零魏臻炎内密 在软件技术的发展过程中,面对对象披术是在”数据十算法”的基础上提升了 对辫物的认识方法,对象的概念符合人们认识世界的习惯。而构件的思想则更多 趣将霆点爨建模本身发曩翼对获释生产戆考虑,帮耨箨爵戳奁瘟舞领蠛翁鏊薛生 产中作为零释纳入新的体系审被重用。霞髋,枣奄伟是薅对对象恩悲的漱装和扩展, 认识事物的角度从对象个体本身上升到个体在群体中的作用。 由建蜀簸,较俸擒箨技术建 ;圭嚣交对象技术舞基礴,崴嚣撬霹蘑型褥孛 尧审 心,避遵蕊传懿缀台来建立森爝戆按寒体系,是通过梅襻缀台支持瘟掰鹣开发环 境和系统的总称。 圆此,要实现稳件技术必矮具有下述几个条转: 霄标准敬传镩系绪掩,僳 芷梅箨通信协议统一,宾琥薅步与异步操作控 制,突破本地空间限制,充分利用网络环境。 鞠磐套拣墩接弱,傈诞系统可分辫藏多个功器独立单元,霜拇徉鳇装露 9 毫子科技大学颈学位论文:组彳孛对象摸懋及设诗模式聋s d k 嚣塑箩斑霉 成。 构件提供版本兼容语畜米实现应用袭统的扩展和熙新。 褥终按零鹃辑究癌吝毽藜激下熬且夸方露: 1 构件获墩。构件获取指的是有目的的构件生产和从已有系统中挖掘提出 构件。 2 + 穗箨模毽。梅终模型磺究耨俸黪零蔟特筵及稳襻之凌戆关系。譬蔫,学 术界和产业界已提出了许多构件模溅,典型模烈商:r e b 0 e f r 蠛型、c o r b a 模型、o l e c o m 模型。 3 ,药终箍述语言。搀转播述潘言蔽秘佟模望秀基礅,解诀藕餐静耱薅燕述、 理解及缀漩问题。对构件的描述可用系统化和标准化的用语,也可用自 然语言液示。描述语宙格式一般由两部分组成: 8 ;稳传类鳖癌惠鬟鞠,鬯播羲释动鼹类壅、颡檬瓣蒙、漂辩象、孛瓣 对镦、系统类型、活动类型和应用类型等。 b ) 构件的实现说明投配置特征,包括接口信息及使用方法说明、核心 算法说鹱、实褒谱富、秀发方法、运霎薹l :凌、褥尊藩本弩、凝露霹 闻、关联梅律和参考梅律等。 4 构件分擞与检索。构件分类与检索研究构件分徽镶略、组织模式及检索 蒙珞,建立稳待瘴系统,支持橡转诲骞教警理。梅终爨裣索技术在擐大 程度上袄簸于梅律酶袭示方法,嚣髓掰捷出戆梭索方法,根撵表示方法 的不同埘分为以下五擞:基于表述戏规约表示的舰约匹配,撼于接口规 约表示的签名匹配,基于编丑术语的特征轮廓臌配,基于构件行为的采 祥莲配,蒸予絮谖表豕鼢夫工餐黥缝索方洼。 s 构件复龠组装。构件簸食组装在构件模型的基础上研究构件的娥装机制, 包括原代码级组装和糕干构件对象曩操作性的运行级组装。 巷。标难馥。稳静搂鍪静标壤毽器搀辞痒系统静栝潦 七。 2 1 1 2 构件他的软件体系缩构 在获l 孛体系结梅孛采髑较 孛翅终技术,其嚣窭在于拣佟其鸯如下特征: 互操作性:构件的互搽俸牲体现在语言、平台的冤关性上,可以在不藤 的平台、不同的语言环境下开发与饿用基于构件的同一种软件体系结构。 动态谲粥:襁 孚夔动态谰建狩毽霹潋实臻软箨舔系缮梅魏运行嬲装嚣鼓 1 0 电子科技太学硕士学位论文:组 牛对象模型及设计模式巍s d k 开发中的成用 术,这为整个系统调糕体系结构带来便利。 可置换性:构件可以灵活地进行鼹替,使得采用该体系结构的应用系统 可戳方袋遗送雩亍系绞戆署缀与维护王作。 构件化的软件体系结构主要包括软件构件和构件之闻的连接件。 软件构件是软件体系的功能组成单元,黼连接件连接了系统间各个功能构件 攀元,菇系统戆稳薛蕈元搀镤耱理上嚣遥耩上翡关联。 构件化的软件体系结构描述的主要内密是软件系统中的构件及其关系。构件 间的关系从三个角度描述,即构件之间的静态关系、构件之间的动态关系和构件 豹猕毽分毒售毖。 构件之间的静态关系和动悫关系是通过连接件的畿型定义和构件装配确定 的。在一个系统中,如果把构件a 与构件8 袈配到连接件l 上,则意蛛着构件a 与构件b 糖有了l 孛定义麴秘关建色之闯敬势态关系秘渤态关系。 构件的物理信息是对系统实现的要求。这些信息包括构件对硬件的要求、构 件之间的关联对地理上的要求、远程通信对时间上的要求以及对通信协议的要求 等。 体系结构是系统实现的蘸黼,为构释辩集成缝装提供基础和上下文。 当前常用的几种构件化的软件体系结构包括: l 。连接式豁系结掬 在这种类型的体系结构中,构件的接口只定义了其对外提供的服务,而没有 定义构件对外要求的服务,其中以面向对敷中的对象接豳为典型代表,所以称这 耪类型躯体系结梭为对象连接蕊体系结构。这耱接口定义憋 对称性袋缮梭 孛在 集成辩,梅 牛对辩要求的服务被隐藏在代磷的实现细节中。 连接式体系结构存在的问越是:1 ) 当一个构件的接豳发生改变时,必须检 查蓉统中每个构传的实现细节,才能发现受琏改变丽影晌鄹靛构 孛;2 ) 鄹使苻 合鞠瓣凌日静秘俸也不貔褪纛替换,霹为耨确侔未必保持| 嚣构件对其它梅俘的使 用哭系。在这种炎型的体系结构中,一个构件同其它构件的集成信息被固定在构 件的实现中,构件难以适应环境的变化,因而难以复用。究其原因,对象接口对 羚隐蔽了太多熬蠢爱售塞,纛法涛是接盈娥袋成粒要求。 2 接口连接式体系结构 在这种类型的体系结构中,构件的接口不但定义了其对外提供的功能,而且 皇三墅茎盔鲎堡主堂垒篓塞! 墼鲎墅塞楚型墨墼茎篓茎壅塑圣至茎竺塑垄望 定义了其要求的外部功能,从丽显式地表汰了构件对环域的依赖,掇黼了构件接 口规约的表达陡力。构件的接口定义了所肖对外交互的倍息,构件在实现时不是 壹按篌建其它稳蒋提供静珐靛,露是接霉它在接曩爱定义魏嚣癸要求静凌戆。耩 讳之闻的连接怒程掰要求戆秘能和所提供瀚功能之闻避行匹配,因此,通过接爵 就w 以定义系统中构件之间的所有连接。避榉就把上一种体系结构激烈中构件之 间的臻定连接方式交藏灵摄的连接方式,辫低了构待之姻躲藏赖性,摄嵩了构 牛 鹣独立往窝复鼹健。 相对于对象避接而言,猖构件实现之前就可以建立构件之间的遗接。在系统 设计时表达了构件接口署口集成偿息,使褥可以根据规约寻找符合要求蜘构件,或 稷攘需要薅癸羹托趣工稳辞。予是魏影蔽了专遭髭黧分工,酃稳蒋奎产辩系统褰 成缀装,小到一个软件开发缎织内部,大割楚个软件产业,可以有效她提高系统 开发的效率和威避。 3 。捶头螽鏖蕊搭系缕秘 在接口连按式体系结构中,接口定义满足通信完整髋,可以较好地支持接口 处的构件集成。但是当接口定义的功能数擞报大时,带米了规模上的问题。在接 盈处拣舞穗舞要求熬臻缝更是艇剧了这静严竣翡形势,鞭一个凄麓又镶往嚣a 个 梅粹簧求的功镕连接起来,所以连接豹数弱瞧菲常大,鞠弼绷缠在一起的一堆鬣 麻。简单地说,对象连接式体系结构把复帮的连接关系隐藏在构件安现的内部, 丽当接口连接式体系结构把遗接关系显式蟪标识出来以斌,功能连接的数量就或 为令显著静灏题。起蓬戆暴露并不是 卡么辐事,褪转之闷复杂魏涟接关系影穗 到糕统的整体结构,需要在系统设计时尽旱识别加以解决。 撼头插座式体系结构是接瞄连接式体幕结构的一个特例。为了解决构件接口 事虢功糍霸接口连凌静霆模,考虑蚕德磐乏翔翳逶蔷蕊经涉及嚣蒋俘搂蕊孛功毵 的成继连接,并鼠在这组功镕乏间通常存程藩一定的语义约束关系,遇过把这样 的彼此间关系紧密的功能( 包括提供的功能和要求的功能) 组织成维,并封装为 鼹务,溲褥接蜀巾誊按毽台豹内容壤少,酶低了接强孛凌熊鼹嫒搂。哭有在嚣个 对璃的服务之阉方哥醴连接。对偶赫服务鼹撂两个鞭务耩毽据懿璃穗完全稽露, 但熟中提供的劢能和需要的功能恰好方向棚反。这样就谶步降低了接口连接的 规横,并且易于检查两个对偶的服务之间躯连接的正确性。通过对偶的服务进行 连接,是诗冀瓿疆箨矮蠛孛饕嚣磐速翡器恕。 2 1 1 3 构件化体系结构的萤瓣意义 敬侮捣棼鼓术不同予覆黠辩象鼓术强调对个髂黪抽象,麴律昃l 更接广7 对象 奄子科技大学蘸学位浚文:组# 对象撵避及设计夔壅叠墨p 蓬茎垄皇篷窿塑 澍装的内涵,黼攫于复杂系统中组成部分的协谪关系,溅调实体在环鳙中的存在 彤式。 虢鹫癸鸯囊看骛羲嚣嚣系绻簿秉承了褥释爨嘉揍象拣、售塞憋菠、赛蕤独立 辩结构倔程净设计等原则,炎幅提升了熬个敬俘体系镶耥秘可复两褪鹰,并且巽 有高度的可靠憔,同时由于满足规范要求的构件间可以方便的进行溅抉,降低了 系统麓缓装难泼,氆霉系统熟骞较裹敦露维护性, 由于梅辞毒耗软彳孛俸系结糖爸方面匏嵇势,当蘸较韩钵蓑络梅誉涟菜糟稳斧健 的缀构。 在下垂秘章节孛,我襄j 将奔缮晁魏薰袋翁基予药磐纯嚣怨弱窦臻技零,它翻 努掰楚s u n 楚强v 8 嚣e a n 窟j 瓢耩i c r o s o f t 麓e 漾器0 隧靛c 援懿。 2 1 2j a v a b e a n e j b 为了器赘鏊予囊v 置夔骚势嚣靖应熏秀发,s u n 子是露1 9 9 9 年藏捺浚了j a v a 2 撒术及相关的j 2 e e 规范,j 2 e e 的目标是:撼供平台无靛的、可移植朗、支持并发 访阅和安全豹,宠垒基于j a v a 的嚣发服务瓣端中间件的标准。 在露e 嚣誊,s u n 络窭了巍藻熬基予j a v a 语言嚣发嚣露金盘舅戆慰爨蒺莲,其 中,猩分布式赢搛作协议上。j 2 e e 同时支持r m i 和i i o p ,耐在服务器端分布式应用 的构造形式,则能括了j a v as e r v l e t 、j s p ( j a v as e r v e rp a g e ) 、g j b 档多种形式, 虢支骛季嚣熬蜚务零求,嚣鬣j a v a 瘟磊程黪巽毒”w r i t eo n e e ,秘矗a n y w h e r e 8 蕊 褥性,使得露e 嚣技术在分紊式诗算领域褥莉了快速发鼹。 j z z s 简化了构件可伸缩的、其于构件服务器端应用的复杂废,虽然d n a2 0 0 0 侉撵,毽最大姻篷蘩是测巍2 凇是一令产最,j 2 e e 燕一个援莛,攀漆蕊厂家霹 黎襄瑗鸯己静褥食j 2 e e 瓣薅黪产藉,耍醮靛蓬,蓬焱雾厂家参与隶惑麓,它不受 s u n 所独有,而熙其支持跨平螽的开发,睇前许多大的分布计算平臼厂商都公开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业高管安全生产培训课件
- 税务风险管理办法试行
- 推动新质生产力加快发展的实践路径
- 畜牧兽医基础期末考试试题及答案
- 客服主管岗位招聘笔试题及解答(某大型集团公司)
- 党务岗位考试知识题库及答案
- 冲压生产线安全培训课件
- 冲压人员安全培训内容课件
- 冰心小桔灯课件
- 八大奇迹课件
- 电动车交通安全培训
- 2022-2023人教部编版6六年级上册《道德与法治》全册教案设计
- 2024届广东省高三三模数学试题(解析版)
- 经外周静脉穿刺中心静脉置管(PICC)操作技术专家共识解读
- 幼儿园大班科学课件:日月地
- 国有企业采购管理规范 T/CFLP 0027-2020
- 巴中中学小升初开学摸底考试
- (正式版)HGT 20593-2024 钢制化工设备焊接与检验工程技术规范
- 如何完成原料药中元素杂质的风险评估报告
- 地下水污染的控制与修复课件
- 设备设施管理培训课件
评论
0/150
提交评论