摘 要:隨著計(jì)算機(jī)技術(shù)的發(fā)展和社會(huì)的進(jìn)步,計(jì)算機(jī)軟件的種類和數(shù)目也在不斷的增加,隨之而來的就是插件技術(shù)的發(fā)展。插件技術(shù)的廣泛應(yīng)用,使計(jì)算機(jī)軟件的生命周期和拓展性有了很大幅度的提高,一定程度上使計(jì)算機(jī)軟件的功能得到了拓展。本文首先介紹了插件技術(shù)的定義,然后分析了插件的類型和原理,最后分析了計(jì)算機(jī)軟件中插件技術(shù)的應(yīng)用。
關(guān)鍵詞:插件技術(shù);計(jì)算機(jī)軟件;應(yīng)用
中圖分類號:TP311.52
利用插件技術(shù)來增強(qiáng)計(jì)算機(jī)軟件的功能,對于計(jì)算機(jī)軟件來說是非常重要的。它與計(jì)算機(jī)硬件中的插件技術(shù)不同,其在軟件中不更改程序主體。所以,計(jì)算機(jī)軟件在使用插件技術(shù)時(shí),可以使環(huán)節(jié)簡化很多。插件技術(shù)不僅可以使軟件的功能得到強(qiáng)化和擴(kuò)充,并且可以使軟件的效率有所提高,在保證它正常運(yùn)行的同時(shí),來滿足不同用戶的不同需求。如何提高插件技術(shù)的作用是軟件工程師需要解決的問題。
1 插件技術(shù)的定義
插件是一種程序,是依據(jù)同樣的預(yù)定義接口來進(jìn)行編寫的。在電腦軟件中運(yùn)用插件技術(shù),主要是為了滿足用戶的需要,運(yùn)用接口來進(jìn)行軟件的二次開發(fā)。插件有使軟件的生命周期以及擴(kuò)展性提高的功能。在對軟件進(jìn)行開發(fā)時(shí),應(yīng)合理運(yùn)用不同類型的軟件,這樣可以使軟件完成的時(shí)間明顯縮短。可以針對用戶的需求,運(yùn)用插件技術(shù)對軟件進(jìn)行維護(hù)和升級,在滿足用戶需求的基礎(chǔ)上,使開發(fā)成本有所降低。
計(jì)算機(jī)軟件的插件一般由三部分組成,包括插件、接口以及總線,插件一般由總線和預(yù)留的接口相連,插件主要有界面、函數(shù)和數(shù)據(jù)構(gòu)成。目前,我國的接口一般使用統(tǒng)一的規(guī)范,所以在軟件系統(tǒng)運(yùn)行之前,用戶就應(yīng)該根據(jù)自身的需求應(yīng)用插件技術(shù),接口也應(yīng)在總線進(jìn)行集成。
將插件技術(shù)運(yùn)用于計(jì)算機(jī)軟件之中,不僅可以使軟件應(yīng)用得到拓展,而且不用對程序主體進(jìn)行更改就可以實(shí)現(xiàn)功能的拓展,所以其在對計(jì)算機(jī)軟件進(jìn)行編程時(shí)應(yīng)用比較廣泛。接口是連接宿主程序與插件的橋梁,接口主要負(fù)責(zé)規(guī)范軟件模板之間的調(diào)用。在對程序進(jìn)行開發(fā)時(shí),接口問題是否解決是計(jì)算機(jī)對插件是否支持的前提。
2 插件技術(shù)的類型和應(yīng)用原理
2.1 插件技術(shù)的幾種類型
(1)組件對象模型,英文是Component Object Model,簡稱為COM。組件對象模型的出現(xiàn),使插件技術(shù)的發(fā)展步入了一個(gè)新臺階,它可以使插件與宿主程序之間信息交互和通訊速度加快。在使用組件對象模型時(shí),不需要專門了解各個(gè)插件的功能,只需要將主程序接口與插件相連接。
(2)聚合類型插件,它是指把插件的功能直接編輯成可執(zhí)行的exe程序。在宿主程序運(yùn)用聚合式插件時(shí),可以直接進(jìn)行調(diào)用,這樣就能很輕松的使其功能實(shí)現(xiàn)。運(yùn)用聚合式插件,可以加大宿主程序與插件之間、插件與插件之間的交流與通訊。
(3)批處理類型的插件,它和計(jì)算機(jī)中的批處理指令非常相似,一般存在方式都是文本文檔。批處理類型的插件可拓展性很小,不僅插件的自由度低,功能也相對單一。
(4)腳本類型的插件,它的主要功能就是把插件程序中與邏輯有關(guān)的編程語言改成腳本代碼。腳本類型插件可以使用Python,可以使用自行開發(fā)的,也可以使用長期使用的作為編程語言。現(xiàn)階段,最流行的插件語言要屬XML,它的腳本插件語言具有容易修改、簡單易懂的特點(diǎn)。
(5)已有程序環(huán)境類型的插件,我們比較熟悉的PS軟件,就是利用了這個(gè)技術(shù)。在對這個(gè)插件進(jìn)行使用時(shí),應(yīng)該在之前就多建立幾個(gè)自定義接口。這樣做,可以使插件自由使用各個(gè)程序中的資源。此插件技術(shù)具有自由度高的優(yōu)勢,開發(fā)者將其創(chuàng)造性思維發(fā)揮到最大,但是編寫過程比較復(fù)雜,協(xié)調(diào)各接口之間的工作也很有難度,所以要求開發(fā)人員經(jīng)驗(yàn)和知識儲備要足夠?qū)I(yè)和豐富。
2.2 插件技術(shù)的應(yīng)用原理
(1)接口
在開發(fā)具有插件功能的計(jì)算機(jī)軟件時(shí),最應(yīng)該解決的問題就是:怎樣實(shí)現(xiàn)插件與宿主程序之間交流。如果想使兩者交流不存在障礙,第一步應(yīng)該要制定一個(gè)交流的規(guī)則,所謂的規(guī)則也就是接口,它是插件與宿主程序之間的橋梁。在進(jìn)行軟件開發(fā)的過程中,接口只是一個(gè)標(biāo)準(zhǔn),它不包括怎樣使功能實(shí)現(xiàn)這一內(nèi)容。
(2)插件
在計(jì)算機(jī)軟件系統(tǒng)中,可以動(dòng)態(tài)的插入插件,一個(gè)插件可以為系統(tǒng)提供部分簡單的功能,多個(gè)插件就可以使系統(tǒng)不斷地完善。在進(jìn)行相應(yīng)處理時(shí),為了使宿主程序能夠更好的拓展其功能,必須提供適合的接口給宿主程序,并且需要保證使用時(shí)能夠有效識別宿主程序,已達(dá)到插件與宿主程序交互、通訊的功能。
(3)動(dòng)態(tài)鏈接庫
動(dòng)態(tài)鏈接庫指的是一種軟件模塊,它自身擁有一定功能,可以輸出函數(shù)等,其他程序也能夠調(diào)用它的功能,但是它本身無法獨(dú)立運(yùn)行。它的調(diào)用方式主要包括兩種,一是動(dòng)態(tài)的調(diào)用方式,二是靜態(tài)的調(diào)用方式。
(4)宿主程序
宿主程序一般是通過exe可執(zhí)行文件來表現(xiàn),在啟動(dòng)系統(tǒng)時(shí),插件的加載應(yīng)在地址空間里進(jìn)行。現(xiàn)階段插件系統(tǒng)中,應(yīng)用最廣泛的應(yīng)屬服務(wù)性插件,宿主程序應(yīng)對插件進(jìn)行管理。在不同的軟件程序中,插件技術(shù)都不相同,但是都應(yīng)該重視插件技術(shù)的管理。
3 計(jì)算機(jī)軟件中插件技術(shù)的應(yīng)用
計(jì)算機(jī)硬件中的插件技術(shù)是軟件中插件技術(shù)的基礎(chǔ),硬件的插件技術(shù)經(jīng)過了漫長的探索和發(fā)展,已經(jīng)形成了一個(gè)系統(tǒng)。想要將插件技術(shù)應(yīng)用到計(jì)算機(jī)軟件技術(shù)過程中,應(yīng)該吸取硬件插件技術(shù)的優(yōu)點(diǎn),針對其中的缺點(diǎn)和不足進(jìn)行改革和創(chuàng)新。軟件插件的連接是通過主程序和接口共同完成的,不僅能使軟件功能有所發(fā)展,也能夠?yàn)橛脩舾玫姆?wù)。
在插件技術(shù)的實(shí)際應(yīng)用過程中,必須要有相應(yīng)的運(yùn)行環(huán)境,以保證能夠安全運(yùn)行計(jì)算機(jī)軟件。在軟件系統(tǒng)中,每個(gè)插件都是獨(dú)立存在的,在運(yùn)行插件的過程中,軟件系統(tǒng)應(yīng)為提供良好的運(yùn)行環(huán)境負(fù)責(zé)任。而是否安裝插件,由用戶根據(jù)自己的需要來決定,從而進(jìn)行插件的增加和減少。
在對插件技術(shù)進(jìn)行開發(fā)時(shí),需要依靠一些平臺進(jìn)行。如果按照開發(fā)目標(biāo),可以將軟件系統(tǒng)分為兩類,一是進(jìn)行功能拓展的模塊,它是補(bǔ)充軟件系統(tǒng)的部分,目的是為了完善軟件系統(tǒng)的功能;二是宿主程序,它是組成計(jì)算機(jī)軟件的重要部分。我們在開發(fā)設(shè)計(jì)計(jì)算機(jī)軟件時(shí),是否聯(lián)合開發(fā)插件和平臺,系統(tǒng)軟件的應(yīng)用環(huán)境以及用戶需求都是應(yīng)該重視的問題,需要提前進(jìn)行規(guī)劃。
現(xiàn)階段,插件技術(shù)的發(fā)展速度逐漸加快,也逐漸成熟。除了計(jì)算機(jī)領(lǐng)域,還延伸到數(shù)據(jù)分析領(lǐng)域。開發(fā)數(shù)據(jù)庫時(shí)運(yùn)用插件技術(shù),不只是對模塊進(jìn)行簡單的劃分,而是以客戶的實(shí)際需求作為立足點(diǎn),將模塊的實(shí)際功能進(jìn)行細(xì)致的劃分。應(yīng)該弄清每個(gè)要素和數(shù)據(jù)之間的結(jié)構(gòu),并且充分了解各功能之間是沒有關(guān)聯(lián)且相互獨(dú)立的,這樣就可以充分避免各要素對數(shù)據(jù)開發(fā)造成影響。將插件技術(shù)應(yīng)用于數(shù)據(jù)庫開發(fā)過程中,不僅可以轉(zhuǎn)變數(shù)據(jù)的開發(fā)方式,由縱向轉(zhuǎn)變?yōu)闄M向,又可以使工作效率和工作量得到提升。
4 結(jié)束語
現(xiàn)階段,很多計(jì)算機(jī)軟件以及系統(tǒng)的運(yùn)行都需要安裝相應(yīng)插件,軟件功能的強(qiáng)大也在一定程度上受到了插件的影響。近年來,插件的發(fā)展速度越來越快,而計(jì)算機(jī)的智能化進(jìn)程也逐漸加快。插件技術(shù)不僅可以使計(jì)算機(jī)軟件功能不斷完善,還可以在一定程度上推動(dòng)計(jì)算機(jī)智能化的發(fā)展。深入研究計(jì)算機(jī)插件技術(shù),對計(jì)算機(jī)軟件的進(jìn)步和發(fā)展具有非常重要的作用。
參考文獻(xiàn):
[1]彭遼遼.計(jì)算機(jī)軟件中的插件技術(shù)淺析[J].科技致富向?qū)В?013(30).
[2]姜川.計(jì)算機(jī)軟件中的插件技術(shù)及應(yīng)用研究[J].數(shù)字技術(shù)與應(yīng)用,2013(01).
[3]常江.插件技術(shù)在計(jì)算機(jī)軟件中的應(yīng)用探討[J].電子技術(shù)與軟件工程,2013(11).
[4]蔡廣松.關(guān)于計(jì)算機(jī)軟件中的插件技術(shù)的探討[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2013(15).
[5]江濤.插件技術(shù)對計(jì)算機(jī)軟件的影響和應(yīng)用研究[J].數(shù)字技術(shù)與應(yīng)用,2013(08).
作者單位:陜西能源職業(yè)技術(shù)學(xué)院,西安 710613