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

        ?

        反射機(jī)制下插件系統(tǒng)軟件的設(shè)計和應(yīng)用

        2016-04-12 00:00:00向楨劉述木
        現(xiàn)代電子技術(shù) 2016年12期

        摘 要: 為了縮短軟件開發(fā)周期并提升軟件擴(kuò)展性,提出基于反射機(jī)制的插件系統(tǒng)軟件設(shè)計理念。該系統(tǒng)所配置的獨立軟件,無需編寫源程序,從而達(dá)到定制、修改、添加軟件功能。在反射機(jī)制下設(shè)計插件系統(tǒng)軟件借助觀察者模式對插件間的數(shù)據(jù)關(guān)系實施解耦,并借助XML描述與表達(dá)插件關(guān)系進(jìn)行配置,這一軟件設(shè)計思想能提升軟件復(fù)用性、擴(kuò)展性。

        關(guān)鍵詞: 反射機(jī)制; 插件系統(tǒng)軟件; 軟件設(shè)計; 軟件開發(fā)

        中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)12?0130?02

        Abstract: In order to shorten the software development cycle and improve extensibility of software, some software design ideas of plug?in system based on the reflection mechanism is put forward. The independent software configured in the system doesn't need to write the source program, so as to achieve customization, modification, software addition functions. The plug?in system software is designed under the reflection mechanism to implement decoupling of the data relationship between the plug?ins with the help of the observer pattern. XML is used to describe and express the plug?in relationship for configuration. The software design idea can improve the software reusability and extensibility.

        Keywords: reflection mechanism; plug?in system software; software design; software development

        隨著計算機(jī)技術(shù)的開發(fā)和廣泛應(yīng)用,多數(shù)復(fù)雜的系統(tǒng)的開發(fā)層出不窮,系統(tǒng)的復(fù)雜性為日后的維護(hù)、管理工作帶來不便。任何一種軟件的開發(fā),不管研發(fā)者開發(fā)前是否詳細(xì)調(diào)查用戶需求,軟件開發(fā)完成后,使用過程中用戶需求出現(xiàn)變化或部分功能有待改進(jìn),傳統(tǒng)繁瑣、低效率的流程無法滿足需要。為了設(shè)計維護(hù)性能強(qiáng)、容易擴(kuò)展的軟件,最佳的方式就是使用插件技術(shù),文中嘗試把基于NET反射機(jī)制引入插件系統(tǒng)軟件開發(fā)中,軟件參數(shù)化程度升高,實現(xiàn)完善配置管理的目的。

        1 簡述反射技術(shù)及插件技術(shù)的概念

        1.1 反射技術(shù)

        反射概念最早于1982年提出,是指程序能夠訪問、檢測、修改其自身狀態(tài)或行為的一種能力[1]。反射概念的提出快速引發(fā)計算機(jī)領(lǐng)域有關(guān)應(yīng)用反射性的研究。通常反射系統(tǒng)不單單滿足開放性條件,也要滿足原因連接。原因連接就是反射系統(tǒng)從發(fā)生描述改變能夠及時反映至系統(tǒng)底層的時間情況。在NET內(nèi),反射機(jī)制可以建立靈活代碼,該代碼進(jìn)行運行過程中進(jìn)行裝配,不需要再組建實施源代碼鏈接。反射機(jī)制允許在編寫及執(zhí)行過程中,將接入裝載至可執(zhí)行的程序內(nèi)部信息,這種反射機(jī)制稱為創(chuàng)建靈活應(yīng)用的主要工具[2]。

        1.2 插件技術(shù)

        插件技術(shù)本身也是構(gòu)建技術(shù),如果某個軟件工程項目較大、要求過緊,需要多個人員、單位在不同的時間下進(jìn)行設(shè)計、開發(fā)軟件。插件技術(shù)實現(xiàn)最終集成時,必須把部件組裝而無需實施編譯及連接,操作完成后直接組裝至原軟件平臺方可使用。插件技術(shù)是遵循某種規(guī)范的應(yīng)用程度接口對程序進(jìn)行編寫操作。目前,多數(shù)軟件設(shè)有插件,例如:IE中安裝相應(yīng)的插件后,Web瀏覽器可直接使用插件程序?qū)δ撤N特定類型的文件進(jìn)行處理。

        2 基于反射機(jī)制下設(shè)計基礎(chǔ)框架

        插件是近幾年比較常見的技術(shù),插件結(jié)構(gòu)有利于編寫最佳的擴(kuò)充和定制功能程序。本文提出插件/平臺軟件設(shè)計就是把某個有待開發(fā)目標(biāo)軟件劃分為主框架(平臺)和補充模塊(插件)。主框架由內(nèi)核、插件管理等部分組合而成。通過內(nèi)核申請服務(wù)對整個程序的工作運行狀態(tài)實現(xiàn)驅(qū)動,由于插件技術(shù)滿足系統(tǒng)要求的各項服務(wù),服務(wù)狀態(tài)及形式展示在不同插件中[3]。在主框架中,插件管理層起著重要的連帶作用,該管理層用以合理調(diào)配相應(yīng)的接口,為內(nèi)核提供一系列的服務(wù)功能。同時,內(nèi)核能夠有效完成推進(jìn)時間、觸發(fā)事件及分發(fā)消息等各項任務(wù),其關(guān)系如圖1所示。

        在插件系統(tǒng)軟件設(shè)計時,其平臺選用軟件基礎(chǔ)服務(wù),最后對擴(kuò)展點展開分析,之后封裝形成獨立的插件,根據(jù)以上要求,軟件設(shè)計框架如圖2所示。

        2.1 設(shè)計插件系統(tǒng)

        設(shè)計插件系統(tǒng)過程中,抽象提取的插件必須滿足獨立性強(qiáng)、可靠性好、連接方便等特點,配合簡要清晰地解釋說明,方便日后合理的檢測和應(yīng)用。一般情況下,插件采用接口的形式對其功能進(jìn)行公布,達(dá)到合理內(nèi)部封裝的效果[4]。插件嚴(yán)格遵循統(tǒng)一的命名規(guī)則及設(shè)定的接口標(biāo)準(zhǔn)。深入研究多種插件系統(tǒng)與對象的關(guān)系,本文提出借助數(shù)據(jù)交互接口、樹狀關(guān)系接口等相關(guān)插件接口。IEntityPlug是系統(tǒng)插件的直接繼承接口,其具有注冊、初始化、更新配置等插件等功能。

        2.2 NET反射機(jī)制下插件運行過程

        NET反射機(jī)制本身就是一個分析程序元數(shù)據(jù)表的過程,便于掌握程序集的類型及其主要成員。通過反射機(jī)制能獲取程序集中定義的不同信息,允許程序正常運行狀態(tài)下建立部分類型對象,并及時調(diào)用以上類型、成員的操作[5]。通常將插件設(shè)置在特定目錄內(nèi),例如:bin/debug/plugin,在plugin目錄下存儲插件,也能把插件信息填寫至XML配置文件內(nèi)。插件系統(tǒng)運行時序見圖3。

        程序正常運行時,窗體由配置文件內(nèi)讀取保存插件名稱及其加載的DLL路徑信息,動態(tài)形成各類菜單、命令。開啟程序后,通過ObjectManafer對XML配置文件進(jìn)行讀取。反射機(jī)制建立插件試題,實現(xiàn)插件注冊及初始化操作。

        2.2.1 插件實現(xiàn)具體步驟

        插件實現(xiàn)必須遵循封裝變化點、動態(tài)加載程序集的原則,插件系統(tǒng)軟件正常運行時,依據(jù)配置文件制定的各項參數(shù),動態(tài)加載合理的程序集并調(diào)用相應(yīng)的方法,以此滿足用戶功能需求。如果用戶需要增設(shè)新的功能,只需設(shè)置新的程序集并更改配置文件即可完成。

        2.2.2 封裝變化點實現(xiàn)方式

        在平臺上定義的插件包括Tool,Command兩種形式,各類插件具體的實現(xiàn)功能有所差異,均需設(shè)置統(tǒng)一的Icommand或TTOOL接口,通過設(shè)置這樣的接口,宿主程序無需重視插件的具體實現(xiàn)情況,重點關(guān)注插件有沒有實現(xiàn)該接口,由接口宿主程序與插件實現(xiàn)交互效果。

        2.3 配置約定

        配置文件作為設(shè)計的軟件框架的重要組成部分,配置文件的內(nèi)存儲系統(tǒng)包含原有的初始化信息,主要有對象屬性值、對象關(guān)系等。因不同對象之間的關(guān)系過于復(fù)雜,在一定程度上為配置和管理工作帶來極大的困難,配置合理的對象屬性值便于系統(tǒng)進(jìn)行管理,提高系統(tǒng)的運行效率[6]。本文選定XML文件作為軟件參數(shù)配置軟件,XML便于理解、解析,實現(xiàn)XML表達(dá)對象之前關(guān)系的優(yōu)勢。假設(shè)某個工程為根,與該工程有關(guān)的信號均保存在合理的屬性之內(nèi)。本文系統(tǒng)中的每個插件均是XML的一個節(jié)點,文中將其當(dāng)做插件節(jié)點。把插件對象設(shè)置屬性值作為該插件的各個子節(jié)點,插件能夠準(zhǔn)確表達(dá)該插件的名稱、工作狀態(tài)等各類信息,也可增設(shè)部分特有的屬性值。

        2.4 對象邏輯關(guān)系的表達(dá)

        配置文件第一步解決的問題就是不同對象的相關(guān)性,對象邏輯的象樹關(guān)系代表配置文件內(nèi)父與子的關(guān)系。

        通常情況下,文中所說的組合對象、調(diào)用關(guān)系等內(nèi)容,若插件節(jié)點出現(xiàn)這類關(guān)系,配置表示為空。每個對象在傳輸數(shù)據(jù)和信息的過程中,在XML配置上并列增設(shè)另外的節(jié)點,其中某一個訂購關(guān)系表示為。該節(jié)點主要組成部分為:數(shù)據(jù)發(fā)布者、發(fā)布者名稱、類型、數(shù)據(jù)訂購者。

        3 結(jié) 語

        總之,基于反射機(jī)制設(shè)計插件系統(tǒng)軟件中,軟件實現(xiàn)的功能均在插件中實現(xiàn),不同插件處于相對獨立的狀態(tài),因此,修改某一個插件并不會影響整個系統(tǒng)或其他插件正常運行狀態(tài),能有效減少其耦合性。文中設(shè)計的插件系統(tǒng)軟件,已經(jīng)廣泛應(yīng)用到實際工作中,在一定程度上提升開發(fā)效率和靈活性。

        參考文獻(xiàn)

        [1] 高峰.插件式護(hù)士工作站設(shè)計與實踐[J].中國數(shù)字醫(yī)學(xué),2012(7):114?115.

        [2] 汪峰坤,曹新彩.基于反射的低耦合輕量級插件框架的研究和設(shè)計[J].硅谷,2012,11(5):54?55.

        [3] 陳海燕,朱宇來,林陽,等.利用反射技術(shù)實現(xiàn)程序結(jié)構(gòu)優(yōu)化設(shè)計[J].科技資訊,2014,32(28):21.

        [4] 張奕,余海龍,譚劍美,等.四通道高速數(shù)據(jù)采集系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(9):10?12.

        [5] 許寧,李建.基于.NET反射機(jī)制的插件技術(shù)的研究[J].計算機(jī)光盤軟件與應(yīng)用,2011(21):167?168.

        [6] 宮愛愛,丁香乾,侯瑞春,等.基于Eclipse智能代碼生成框架的研究[J].現(xiàn)代電子技術(shù),2013,36(18):55?58.

        国产性感午夜天堂av| 欧美精品AⅤ在线视频| 国产精品国产三级国产三不| 精品午夜一区二区三区久久 | 久久99精品久久久久久琪琪| 国产美女自慰在线观看| YW亚洲AV无码乱码在线观看| 手机在线看片在线日韩av| 亚洲乱码av中文一区二区| 人妻丝袜av中文系列先锋影音| 五月中文字幕| 日韩av中文字幕少妇精品| 亚洲性无码av中文字幕| 国产美女久久精品香蕉69| 亚洲日韩区在线电影| 中文字幕人妻av四季| 夜夜躁狠狠躁日日躁视频| 亚洲免费人成在线视频观看 | 性xxxx视频播放免费| 国产成人一区二区三区高清| 国产成人精品久久二区二区91| 久久久久亚洲av片无码| 國产一二三内射在线看片| 国产偷闻隔壁人妻内裤av| 国产亚洲人成在线观看| 俺去俺来也在线www色官网| 亚洲欧美一区二区三区国产精| 亚洲视频在线免费观看一区二区| 伊人久久大香线蕉午夜av| 黄色视频在线免费观看| 国产亚洲欧美在线观看的| 国产精品一级黄色大片| 蜜桃视频插满18在线观看| 日韩a无v码在线播放| 国模少妇无码一区二区三区| 蜜桃视频第一区免费观看| 精东天美麻豆果冻传媒mv| AV无码一区二区三区国产| 国产精品视频一区二区久久| 欧美牲交a欧美牲交aⅴ| 久久成人麻豆午夜电影|