亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于適配器模式的慣導(dǎo)軟件設(shè)計(jì)方法

        2017-12-06 05:22:15張凌宇任建輝
        導(dǎo)航定位與授時(shí) 2017年6期
        關(guān)鍵詞:設(shè)計(jì)模式多態(tài)適配器

        解 芳,張凌宇,許 靜,王 巖,任建輝

        (北京自動(dòng)化控制設(shè)備研究所,北京 100074)

        一種基于適配器模式的慣導(dǎo)軟件設(shè)計(jì)方法

        解 芳,張凌宇,許 靜,王 巖,任建輝

        (北京自動(dòng)化控制設(shè)備研究所,北京 100074)

        隨著軟件任務(wù)的不斷增多,傳統(tǒng)的軟件設(shè)計(jì)開(kāi)發(fā)和維護(hù)模式已無(wú)法滿足日益增長(zhǎng)的任務(wù)要求,亟待進(jìn)一步提高軟件的復(fù)用程度。針對(duì)慣導(dǎo)系統(tǒng)軟件接口設(shè)計(jì),提出了一種基于適配器模式的慣導(dǎo)軟件設(shè)計(jì)方法。該方法采用動(dòng)多態(tài)適配器和靜多態(tài)適配器技術(shù),提高了軟件開(kāi)發(fā)效率,接口的定義靈活可靠,解決了軟件開(kāi)發(fā)過(guò)程中面臨的可擴(kuò)展性差、可重用性差、難于維護(hù)等問(wèn)題。

        適配器設(shè)計(jì)模式;慣導(dǎo)軟件

        0 引言

        軟件業(yè)的發(fā)展不僅要求軟件有更高的生產(chǎn)率和可靠性,而且對(duì)軟件的可重用性和可維護(hù)性也提出了更高的要求。設(shè)計(jì)模式主要用于解決軟件開(kāi)發(fā)過(guò)程中重復(fù)發(fā)生的問(wèn)題,每一個(gè)設(shè)計(jì)模式都可以被應(yīng)用于任何系統(tǒng),因?yàn)樗杏谝粋€(gè)特定的面向?qū)ο笤O(shè)計(jì)問(wèn)題或設(shè)計(jì)要點(diǎn),描述了什么時(shí)候使用它,以及使用的效果和如何取舍等,是軟件設(shè)計(jì)過(guò)程中的設(shè)計(jì)經(jīng)驗(yàn)。

        設(shè)計(jì)模式主要分3個(gè)類(lèi)型:結(jié)構(gòu)型(Structural),創(chuàng)建型(Creational)和行為型(Behavioral)。其中,結(jié)構(gòu)型模式主要用于如何組合已有的類(lèi)和對(duì)象而獲得的結(jié)構(gòu),一般借鑒封裝、代理、多繼承等概念,將一個(gè)或多個(gè)類(lèi)或?qū)ο筮M(jìn)行封裝以提供統(tǒng)一的外部視圖或新的功能。常見(jiàn)的有適配器模式(Adapter)、合式模式(Composite)、橋接模式(Bridge)、裝飾模式(Decorator)等。

        相對(duì)于其他模式,適配器模式主要是為了解決2個(gè)已有接口之間不匹配的問(wèn)題。該模式不考慮這些接口是怎樣實(shí)現(xiàn)的,也不考慮各自可能會(huì)如何演化,從而不需要對(duì)2個(gè)獨(dú)立設(shè)計(jì)的類(lèi)中的任意一個(gè)進(jìn)行重新設(shè)計(jì),就能夠使它們協(xié)同工作。

        適配器模式將一個(gè)接口轉(zhuǎn)換成另外的接口,使原本因?yàn)榻涌诓患嫒荻荒芤黄鸸ぷ鞯慕涌趯?shí)現(xiàn)在一起工作。適配器模式分為類(lèi)適配器和對(duì)象適配器兩種方式,其中類(lèi)適配器使用多重繼承對(duì)一個(gè)接口和另一個(gè)接口進(jìn)行匹配,如圖1所示;對(duì)象適配器依賴(lài)于對(duì)象組合,如圖2所示。

        圖1 類(lèi)適配器說(shuō)明Fig.1 Class adapter illustration

        圖2 對(duì)象適配器說(shuō)明Fig.2 Object adapter illustration

        圖1、圖2中,Target為定義Client使用的與特定領(lǐng)域相關(guān)的接口,是已發(fā)布的接口;Client使用已發(fā)布接口的部件與Target接口的對(duì)象協(xié)同;Adaptee為定義一個(gè)已經(jīng)存在的接口新增加的功能,這個(gè)接口需要適配,Adapter對(duì)Adaptee的接口與Target接口進(jìn)行適配。Client在Adapter實(shí)例上調(diào)用一些操作,接著適配器調(diào)用Adaptee的操作實(shí)現(xiàn)這個(gè)請(qǐng)求。

        1 問(wèn)題描述

        以典型的捷聯(lián)慣導(dǎo)系統(tǒng)為例,慣導(dǎo)系統(tǒng)軟件典型外部接口如圖3所示。慣導(dǎo)系統(tǒng)與陀螺、控制電路、衛(wèi)星接收機(jī)、測(cè)試設(shè)備的通信接口為RS-422接口、慣導(dǎo)系統(tǒng)與制導(dǎo)計(jì)算機(jī)的接口為1553B接口,慣導(dǎo)系統(tǒng)與溫度傳感器的接口為I/O接口。慣導(dǎo)系統(tǒng)軟件如何設(shè)計(jì)通用接口以滿足外部接口的多樣性,是慣導(dǎo)系統(tǒng)軟件設(shè)計(jì)亟待解決的問(wèn)題。

        圖3 慣導(dǎo)系統(tǒng)軟件外部接口示意圖Fig.3 Schematic diagram of inertial navigation software external interface

        在面向?qū)ο蠹夹g(shù)中,對(duì)象通過(guò)接口與外部交流,對(duì)象接口與其功能實(shí)現(xiàn)是分離的,不同對(duì)象可以對(duì)請(qǐng)求做不同的實(shí)現(xiàn),相同的接口也可以有完全不同的實(shí)現(xiàn)。由于慣導(dǎo)系統(tǒng)軟件的接口類(lèi)型較多,硬件設(shè)備提供的設(shè)備驅(qū)動(dòng)軟件接口定義不一致,因此,使用適配器模式適配各種驅(qū)動(dòng)接口,可以隔離硬件驅(qū)動(dòng)的內(nèi)部變化,使慣導(dǎo)系統(tǒng)軟件具備可靠的移植能力,高效的復(fù)用性及可擴(kuò)展性。

        2 基于適配器模式的慣導(dǎo)軟件設(shè)計(jì)實(shí)例

        2.1 適配器設(shè)計(jì)模式下的慣導(dǎo)軟件設(shè)計(jì)實(shí)現(xiàn)

        當(dāng)前慣導(dǎo)系統(tǒng)導(dǎo)航計(jì)算機(jī)在硬件接口層中,多數(shù)項(xiàng)目將相關(guān)的硬件協(xié)議及軟件協(xié)議層等通過(guò)相關(guān)的FPGA進(jìn)行實(shí)現(xiàn),即已經(jīng)具備相應(yīng)的各類(lèi)硬件接口的實(shí)現(xiàn)。慣導(dǎo)系統(tǒng)軟件只需要完成數(shù)據(jù)的交互及狀態(tài)判斷等設(shè)計(jì)。經(jīng)過(guò)分析,只需對(duì)軟件數(shù)據(jù)交互接口進(jìn)行相關(guān)分析及設(shè)計(jì),其中包括I/O接口、內(nèi)存接口等數(shù)據(jù)交互。因此通過(guò)使用適配器模式設(shè)計(jì)通用接口適配相應(yīng)的各類(lèi)硬件接口,從而完成接口的設(shè)計(jì)與實(shí)現(xiàn)。

        下面以實(shí)例形式分別實(shí)現(xiàn)適配器模式中的類(lèi)適配器和對(duì)象適配器。其中,通過(guò)繼承和虛函數(shù)(動(dòng)多態(tài),dynamic polymorphism)來(lái)實(shí)現(xiàn)類(lèi)適配器。通過(guò)模板的泛型標(biāo)記,可關(guān)聯(lián)不同的特定行為(靜多態(tài),static polymorphism)來(lái)實(shí)現(xiàn)對(duì)象適配器。通過(guò)比較說(shuō)明和分析實(shí)現(xiàn)各自的特點(diǎn),并提出組合實(shí)現(xiàn)方案。

        2.1.1 類(lèi)適配器的動(dòng)多態(tài)實(shí)現(xiàn)

        類(lèi)適配器的設(shè)計(jì)思想是對(duì)幾個(gè)相關(guān)對(duì)象的類(lèi)型,確定相關(guān)的共同功能集,然后在基類(lèi)中,把這些共同的功能聲明為多個(gè)虛函數(shù)接口。該方法的特點(diǎn)是能夠處理異類(lèi)集合,可執(zhí)行代碼大小相對(duì)較小。類(lèi)適配器的動(dòng)多態(tài)說(shuō)明圖如圖4所示。

        圖4 類(lèi)適配器的動(dòng)多態(tài)說(shuō)明Fig.4 Dynamic polymorphic illustration of Class adapter

        系統(tǒng)接口動(dòng)多態(tài)設(shè)計(jì)示意圖如圖5所示。

        圖5 系統(tǒng)接口動(dòng)多態(tài)設(shè)計(jì)示意圖Fig.5 Sketch map of system interface dynamic polymorphic design

        2.1.2 對(duì)象適配器的靜多態(tài)實(shí)現(xiàn)

        模板用于實(shí)現(xiàn)多態(tài)時(shí),相關(guān)函數(shù)必須具有相同的名稱(chēng)。雖然不能透明地處理異類(lèi)集合,但能夠在性能和類(lèi)型安全方面帶來(lái)顯著的好處。該方法的特點(diǎn)是容易實(shí)現(xiàn)內(nèi)建類(lèi)型的集合,可不需要公共基類(lèi)來(lái)表達(dá)接口的共同性,生成的代碼效率比較高;可以只提供部分接口的具體實(shí)現(xiàn),不必提供全面的接口實(shí)現(xiàn)。

        對(duì)象適配器的靜多態(tài)說(shuō)明圖如圖6所示。

        圖6 對(duì)象適配器的靜多態(tài)說(shuō)明Fig.6 Dynamic polymorphic illustration of object adapter

        系統(tǒng)接口靜多態(tài)設(shè)計(jì)示意圖如圖7所示。

        2.1.3 組合這兩種實(shí)現(xiàn)方式

        通過(guò)上面兩種多態(tài)實(shí)現(xiàn)接口的方法,可以看出動(dòng)多態(tài)是綁定并且動(dòng)態(tài)的,靜多態(tài)則是非綁定并且靜態(tài)的。將這兩種方法組合起來(lái)可以發(fā)揮各自特點(diǎn)。圖8所示為代碼實(shí)例。

        圖7 系統(tǒng)接口靜多態(tài)設(shè)計(jì)示意圖Fig.7 Sketch map of system interface static polymorphic design

        圖8 系統(tǒng)接口靜多態(tài)設(shè)計(jì)示意圖Fig.8 Sketch map of system interface static polymorphic design

        兩種方法的組合依賴(lài)于奇異的遞歸模板模式(Curiously Recurring Template Pattern, CRTP),該模式代表類(lèi)實(shí)現(xiàn)技術(shù)中一種通用模式,即派生類(lèi)將本身作為模板參數(shù)傳遞給基類(lèi)。這樣可以從公共基類(lèi)派生出不同種類(lèi)的接口類(lèi),從而可以處理屬于異類(lèi)集合的不同接口對(duì)象,同時(shí)仍然可以使用模板編寫(xiě)針對(duì)某種接口對(duì)象的代碼。

        通過(guò)上述實(shí)例可見(jiàn),適配器將一個(gè)類(lèi)的接口轉(zhuǎn)換成用戶(hù)希望的另外一個(gè)接口,使得原本接口不兼容的幾個(gè)類(lèi)能一起工作,從而提高了軟件的擴(kuò)展性和通用性。

        2.2 效果分析

        原來(lái)用過(guò)程語(yǔ)言實(shí)現(xiàn)的接口主要是使用低層次的驅(qū)動(dòng)代碼,接口復(fù)雜不統(tǒng)一,無(wú)法有效復(fù)用,但這種設(shè)計(jì)能夠有效保證接口的效率。通過(guò)上述慣導(dǎo)軟件設(shè)計(jì)實(shí)例可以看出,按照設(shè)計(jì)模式中適配器模式進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)接口,可以有效降低數(shù)據(jù)交互的復(fù)雜性,提高代碼編寫(xiě)的效率,保證了接口設(shè)計(jì)簡(jiǎn)單,層次清晰,接口靈活可靠,并且可以復(fù)用。

        當(dāng)慣導(dǎo)系統(tǒng)的硬件執(zhí)行速度較快時(shí),可以考慮使用動(dòng)多態(tài)類(lèi)適配器的方法,實(shí)現(xiàn)接口標(biāo)準(zhǔn)化,可擴(kuò)展性強(qiáng)。如果慣導(dǎo)系統(tǒng)的硬件內(nèi)存空間較大時(shí),可以通過(guò)靜多態(tài)對(duì)象適配器的實(shí)現(xiàn)方法,提高軟件運(yùn)行速度,接口的定義靈活可靠。當(dāng)分析慣導(dǎo)系統(tǒng)硬件及系統(tǒng)要求可以接受的環(huán)境下,結(jié)合這兩種接口特點(diǎn)組合進(jìn)行運(yùn)用,可以充分發(fā)揮類(lèi)適配器與對(duì)象適配器的優(yōu)點(diǎn),保證軟件設(shè)計(jì)可靠性及軟件設(shè)計(jì)的可復(fù)用性。

        適配器模式具有很好的復(fù)用性和可擴(kuò)展性。如果功能是已經(jīng)存在的,只是接口不兼容,那么通過(guò)適配器模式可以讓這些功能得到更好的復(fù)用。在實(shí)現(xiàn)適配器功能的時(shí)候,可以調(diào)用自己開(kāi)發(fā)的功能,從而自然的擴(kuò)展系統(tǒng)的功能。

        3 結(jié)論

        本文設(shè)計(jì)了一種基于適配器模式的慣導(dǎo)軟件設(shè)計(jì)方法,適配器模式雖然是一個(gè)很常用,也比較簡(jiǎn)單的模式,但通過(guò)適配器模式能夠從接口的角度來(lái)考慮設(shè)計(jì)問(wèn)題,集中體現(xiàn)了面向?qū)ο笤O(shè)計(jì)的原則之一:針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程。同時(shí)適配器模式也是對(duì)“開(kāi)-閉”原則(即對(duì)擴(kuò)展的開(kāi)發(fā),對(duì)修改的關(guān)閉)的具體實(shí)現(xiàn)。利用動(dòng)多態(tài)適配器和靜多態(tài)適配器技術(shù)提高了軟件運(yùn)行速度,并提高了軟件的可擴(kuò)展性、可重用性以及維護(hù)性。

        [1] Botha R, Elof J H P. Access control in document-centric workflow systems-an agent-based approach[J]. Computers amp; Security, 2001, 20(6):525-532.

        [2] 劉海巖,鎖志海,呂青,等.設(shè)計(jì)模式及其在軟件設(shè)計(jì)中的應(yīng)用研究[J].西安交通大學(xué)學(xué)報(bào),2005,39(10) :1043-1047.

        [3] 姚蓓窈,向東游,張華棟.高速串口的軟件設(shè)計(jì)模式研究[J]. 計(jì)算機(jī)測(cè)量與控制,2014,22(7) :2318-2320 .

        [4] 伍星,郝惠娣,趙淵.設(shè)計(jì)模式應(yīng)用研究[J].機(jī)械科學(xué)與技術(shù),2003,22 (2) :323-324.

        [5] 林舒萍,羅鍵.設(shè)計(jì)模式的應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26 (11) :2980-2982.

        [6] 路立峰,陳平,杜軍朝,等.設(shè)計(jì)模式應(yīng)用實(shí)例[J].計(jì)算機(jī)技術(shù)與發(fā)展,2005,15 (2) :134-136.

        [7] 肖漢.基于可重用構(gòu)件的軟件開(kāi)發(fā)模式研究[J].微電子學(xué)與計(jì)算機(jī),2007,24(1) :176-179.

        [8] 肖卓宇,何锫.設(shè)計(jì)模式在系統(tǒng)集成中的應(yīng)用與研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(17):4086-4088.

        [9] 唐曉君,劉心松,查小科,等.運(yùn)用設(shè)計(jì)模式改進(jìn)軟件設(shè)計(jì)質(zhì)量的研究[J].電子科技大學(xué)學(xué)報(bào),2003,32(2):169-173.

        [10] 李文錦,王康?。创a中設(shè)計(jì)模式實(shí)例的抽取及驗(yàn)證方法研究[J].計(jì)算機(jī)應(yīng)用研究,2012,29(11):4199-4205.

        [11] 童立,馬遠(yuǎn)良.設(shè)計(jì)模式在基于組件的框架設(shè)計(jì)中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(17):123-124.

        AnInertialNavigationSoftwareDesignMethodBasedontheStructuralDesignMode

        XIE Fang, ZHANG Ling-yu, XU Jing, WANG Yan, REN Jian-hui

        (Beijing Institute of Automatic Control Equipment, Beijing 100074, China)

        With the incessant increase of software task, the traditional development and maintenance mode of software design has been unable to meet the increasing demands of the task. Therefore, the level of software reuse needs to be further improved urgently. For the inertial navigation software interface design, a software design method based on the Adapter design pattern is proposed. The method that adopts dynamic polymorphic adapter and static polymorphic adapter can improve the efficiency of software development. Because of the good flexibility and reliability of interface definition, the method can solve the problems of poor scalability, reusability and maintenance faced in the software development process.

        Adapter design pattern; Inertial navigation software

        10.19306/j.cnki.2095-8110.2017.06.006

        TP311

        A

        2095-8110(2017)06-0037-05

        2016-06-27;

        2016-07-30

        解芳(1983-),女,碩士,工程師,主要從事計(jì)算機(jī)應(yīng)用與軟件工程化方面的研究。

        E-mailxf0202102@163.com

        猜你喜歡
        設(shè)計(jì)模式多態(tài)適配器
        仿生設(shè)計(jì)模式的創(chuàng)新應(yīng)用探索
        玩具世界(2023年6期)2024-01-29 12:14:36
        “1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
        分層多態(tài)加權(quán)k/n系統(tǒng)的可用性建模與設(shè)計(jì)優(yōu)化
        參差多態(tài)而功不唐捐
        交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
        適配器模式及其應(yīng)用
        新型水文測(cè)驗(yàn)GPS適配器設(shè)計(jì)與應(yīng)用
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        美國(guó)麥格普公司新型M—LOK相機(jī)三腳架適配器
        輕兵器(2015年20期)2015-09-10 07:22:44
        人多巴胺D2基因啟動(dòng)子區(qū)—350A/G多態(tài)位點(diǎn)熒光素酶表達(dá)載體的構(gòu)建與鑒定及活性檢測(cè)
        www.亚洲天堂.com| 国产婷婷丁香久久综合| 亚洲中文字幕乱码| 久久99热精品免费观看欧美| 青青青草国产熟女大香蕉| 亚洲男人的天堂色偷偷| 国产成人精品日本亚洲i8| av网址在线一区二区| 人妻熟女翘屁股中文字幕| 无码人妻精品一区二区三区夜夜嗨| 777亚洲精品乱码久久久久久| 日日摸夜夜添狠狠添欧美| 久久久精品电影| 亚洲一区二区三区成人在线| 亚洲av乱码国产精品观| 香蕉视频在线观看亚洲| 国产精品人妻一码二码| 无码少妇一区二区三区芒果| 亚洲伊人久久成人综合网| 精品丝袜一区二区三区性色| 成人性生交大片免费看l| 欧美高清视频手机在在线| 亚洲一区二区三区中文字幂| 国产精品一区二区在线观看99| 亚洲AV无码一区二区三区精神| 中文字幕亚洲精品综合| 亚洲熟妇自偷自拍另类| 久久www免费人成精品| 欧美粗大无套gay| 一区二区三区国产高潮| 亚洲一区二区三区偷拍视频| 久久精品国产亚洲夜色av网站| 18禁裸男晨勃露j毛免费观看| 国产精品23p| 青青草久热手机在线视频观看| 伊人久久大香线蕉av最新午夜| 精品国产天堂综合一区在线| 国产丝袜在线精品丝袜| 国产女奸网站在线观看| 国产91大片在线观看| 亚洲国产成人av二区|