洪秋進(jìn)
摘 ?要:伴隨當(dāng)今互聯(lián)網(wǎng)技術(shù)的持續(xù)發(fā)展,其有力推動(dòng)著信息交流方式的更新與多元,而借助網(wǎng)絡(luò)開(kāi)展信息交流,已經(jīng)成為其主要方式。在設(shè)計(jì)信息處理軟件時(shí),對(duì)分布式數(shù)據(jù)處理有著越來(lái)越高的要求與需求,因此,在將分布式思想應(yīng)用在數(shù)據(jù)庫(kù)設(shè)計(jì)中,已成為當(dāng)前的一種新趨向。該文結(jié)合當(dāng)前實(shí)況,以復(fù)用技術(shù)為基礎(chǔ),就分布式Web軟件開(kāi)發(fā)方法做一探討,望能為此領(lǐng)域研究有所借鑒。
關(guān)鍵詞:復(fù)用技術(shù) ?分布式Web軟件 ?開(kāi)發(fā)技術(shù)
中圖分類(lèi)號(hào):TP311 ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2020)03(b)-0015-02
現(xiàn)階段,在互聯(lián)網(wǎng)上處于流動(dòng)狀態(tài)的信息,體量正在越發(fā)增大,而且還變得更加復(fù)雜,另外,在傳送速度上也變得更快。從根本上來(lái)講,其主要表現(xiàn)在如下方面:第一,用戶(hù)要求Web能夠提供更大的信息廣度與深度,除了囊括文字信息之外,還涉及各種多媒體信息,比如視頻、音頻、圖片、圖形等。第二,用戶(hù)要求Web能夠提供更加多的服務(wù)項(xiàng)目或內(nèi)容,功用變得更加完善與優(yōu)化,其中,諸多功能均需以Web交互能力的提升為前提,才能實(shí)現(xiàn)。從上述內(nèi)容可知,在當(dāng)前互聯(lián)網(wǎng)發(fā)展的大背景下,只有不斷提升Web技術(shù)優(yōu)勢(shì),方能更好地滿(mǎn)足用戶(hù)要求。該文基于軟件復(fù)用與面向?qū)ο蠹夹g(shù),探討了一種更加實(shí)用的分布式Web軟件開(kāi)發(fā)方法,現(xiàn)對(duì)此做一探討。
1 ?面向?qū)ο蠹败浖?fù)用技術(shù)分析
面向?qū)ο蠹夹g(shù)實(shí)為一種已經(jīng)得到深層次應(yīng)用的軟件設(shè)計(jì)技術(shù),其以客觀世界當(dāng)中一些真實(shí)存在的對(duì)象(事物)為著眼點(diǎn),來(lái)進(jìn)行整個(gè)軟件系統(tǒng)的構(gòu)造,而且在實(shí)際構(gòu)造過(guò)程中,盡量選用人類(lèi)自有思維來(lái)進(jìn)行。所以,所構(gòu)造的系統(tǒng)能夠?qū)?wèn)題域給直接映射出來(lái),此外,還能將問(wèn)題域當(dāng)中的事物及其關(guān)系的原有形態(tài)給保存下來(lái)。而對(duì)于軟件復(fù)用技術(shù)來(lái)講,即為把已經(jīng)成功開(kāi)發(fā)且比較成熟的軟件成分,用作更新軟件系統(tǒng)或環(huán)節(jié)的構(gòu)造;主要目的就是借助軟件,對(duì)各活動(dòng)所獲得結(jié)果進(jìn)行生產(chǎn),最終實(shí)現(xiàn)重復(fù)式使用,促進(jìn)整個(gè)軟件產(chǎn)品在質(zhì)量及生產(chǎn)效率方面的雙重提升。還需要指出的是,在整個(gè)面向?qū)ο蠹夹g(shù)體系當(dāng)中,存在著許多機(jī)制,能為軟件復(fù)用提供支持,比如聚合等,但需說(shuō)明的是,當(dāng)前已經(jīng)實(shí)現(xiàn)的僅為代碼級(jí)復(fù)用。針對(duì)此級(jí)別的復(fù)用來(lái)講,其往往將功能實(shí)現(xiàn)作為注重點(diǎn),因此,未能重視結(jié)構(gòu)級(jí)分析與設(shè)計(jì)結(jié)果上的復(fù)用。該文圍繞面向?qū)ο螽?dāng)中的概念“類(lèi)”使用,在系統(tǒng)結(jié)構(gòu)一級(jí)使用類(lèi)當(dāng)中,再次進(jìn)行擴(kuò)充,即主題;以主題庫(kù)的構(gòu)建為著眼點(diǎn),把軟件復(fù)用的基本理念與思路應(yīng)用在整個(gè)系統(tǒng)開(kāi)發(fā)的各環(huán)節(jié)當(dāng)中,如此一來(lái),便能夠?qū)Ω麟A段(如編碼、設(shè)計(jì)及分析等)進(jìn)行優(yōu)化,提升系統(tǒng)的可復(fù)用性及可擴(kuò)展性。
2 ?主題庫(kù)法的原理分析
2.1 構(gòu)建主題庫(kù)模型——問(wèn)題分析
在具體的分析階段,所謂面向?qū)ο蠓ǎ瑥母旧蟻?lái)講,可就是把那些屬性、服務(wù)均相同的對(duì)象歸類(lèi),而在最終實(shí)現(xiàn)時(shí),再借助類(lèi)生成具體對(duì)象,在此過(guò)程中,類(lèi)便是一種能夠復(fù)用的主題。需要說(shuō)明的是,單憑一類(lèi)主題仍遠(yuǎn)遠(yuǎn)不足,對(duì)系統(tǒng)結(jié)構(gòu)進(jìn)行整體性描述,存在著比較有限的能力,所以,可用抽象原則來(lái)處理類(lèi),把那些聯(lián)系比較強(qiáng)的類(lèi)融合起來(lái),從中將其基本服務(wù)與屬性給抽取出來(lái),建立若干類(lèi)集合,即主題,如此便能夠借助各粒度的主題,建立以類(lèi)為對(duì)象的主題庫(kù);最后,借助主題,組建完善的系統(tǒng)。可將系統(tǒng)當(dāng)作以問(wèn)題域解決方案為對(duì)象的主題,在擴(kuò)展系統(tǒng)或是解決相似問(wèn)題時(shí),均能夠給予支持與輔助。如此便能夠建立一個(gè)持續(xù)抽象狀態(tài)的過(guò)程(對(duì)象、類(lèi)、主題、系統(tǒng))。還需要強(qiáng)調(diào)的是,在此過(guò)程當(dāng)中,其各級(jí)的服務(wù)與屬性較前一級(jí),更具一般性特點(diǎn):第一,屬性抽象,能夠獲得公用性更高的屬性,即在設(shè)計(jì)Web分布式數(shù)據(jù)庫(kù)當(dāng)中,獲取更加公共且實(shí)用的數(shù)據(jù)集,如此一來(lái),便能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)當(dāng)中冗余的減少。第二,對(duì)服務(wù)的抽象,從中便能夠得到對(duì)象的原理實(shí)現(xiàn)方法及部分功能;對(duì)于這些方法而言,又被稱(chēng)作層次的公共方法。
通過(guò)此種描述,使各層面抽象均能分成若干部分,即描述自身特性的私有屬性、上一層繼承所得到的公共屬性等;借助此方法,能夠得到系統(tǒng)模型,并建立一個(gè)層次類(lèi)圖。此外,軟件復(fù)用借助主題庫(kù)方法,能夠融合到整個(gè)面向?qū)ο蟮母鲗用娈?dāng)中,無(wú)論是主題的方法,還是其屬性,均能夠被具體層所復(fù)用,且因存在各抽象層面,各層抽象對(duì)象均能夠被其他系統(tǒng)復(fù)用,最終建立一種更加優(yōu)質(zhì)的復(fù)用機(jī)制。
2.2 求解主題庫(kù)模型——系統(tǒng)設(shè)計(jì)
針對(duì)上述類(lèi)型來(lái)講,其將構(gòu)建系統(tǒng)模型作為注重點(diǎn),把此模型進(jìn)行轉(zhuǎn)化,使之成為與相關(guān)要求更加相符的抽象系統(tǒng)實(shí)現(xiàn)方案,也就是用軟件復(fù)用理念及面向?qū)ο蠓椒ǎ瑢?duì)系統(tǒng)模型進(jìn)行求解,此乃系統(tǒng)設(shè)計(jì)階段的任務(wù)所在。根據(jù)上述模型,以最底層為起始掉,把它不斷演化,直到最高層對(duì)象。而在此過(guò)程當(dāng)中,可選擇如下方案:第一,一般-特殊結(jié)構(gòu)。針對(duì)此結(jié)果而言,多針對(duì)上、下層主題間謂緊耦合關(guān)系,也就是說(shuō),上一層主題針對(duì)下一層主題,存在諸多公共的方法或?qū)傩浴J艽蓑?qū)使,下一層在實(shí)際實(shí)現(xiàn)過(guò)程中,借助繼承機(jī)制,便能夠得到上一層所對(duì)應(yīng)的公共部分,此時(shí),僅需對(duì)自身屬性再次進(jìn)行描述便可。此結(jié)構(gòu)在整個(gè)開(kāi)發(fā)方法當(dāng)中最常用。第二,整體-部分結(jié)構(gòu)。此結(jié)果多針對(duì)上、下層主題間為松耦合關(guān)系。在某些狀況下,某層次的主體存在著比較復(fù)雜的功能,其在映射問(wèn)題域上,與繼承相比較更加自然。此時(shí)把它分離出來(lái)為佳,當(dāng)作此層主體對(duì)象當(dāng)中的部分對(duì)象。
針對(duì)上述方法而言,均用到了軟件復(fù)用技術(shù),不同之處就是所用手段,一般-特殊結(jié)構(gòu)在實(shí)現(xiàn)復(fù)用上,所采用的是繼承機(jī)制,而整體-部分結(jié)構(gòu)把具體功能當(dāng)作部分對(duì)象,并把它融入整體當(dāng)中。從根本上來(lái)講,上述兩方法可以互融,比如將一個(gè)公共部分對(duì)象加入主題當(dāng)中,此時(shí),具體層便能將此部分對(duì)象直接繼承。因此,在設(shè)計(jì)時(shí),應(yīng)綜合考慮上述方法,使系統(tǒng)模型在求解上更佳自然與準(zhǔn)確。
2.3 實(shí)現(xiàn)主題庫(kù)模型——系統(tǒng)實(shí)現(xiàn)
通過(guò)求解主題庫(kù)模型,后續(xù)工作便是借助面向?qū)ο箝_(kāi)發(fā)工具,翻譯求解結(jié)果,使之成為代碼。核心是在轉(zhuǎn)換時(shí),問(wèn)題域語(yǔ)義需保持好,要想達(dá)此目的,需要選擇恰當(dāng)?shù)拈_(kāi)發(fā)工具,此外,還需要把握好主題的粒度。之所以要這樣做,因?yàn)榇藭r(shí)已實(shí)現(xiàn)系統(tǒng),首先可以借助繼承機(jī)得到部分公共算法,以此為復(fù)用軟件提供方便;其次,盡量減少系統(tǒng)的層次,為后續(xù)系統(tǒng)維護(hù)、升級(jí)提供方便。針對(duì)設(shè)計(jì)當(dāng)中的一般-特殊結(jié)構(gòu),可借助開(kāi)發(fā)語(yǔ)言當(dāng)中的繼承機(jī)制,直接獲得。如此一來(lái),便能夠建立自設(shè)計(jì)類(lèi)庫(kù),但需要說(shuō)明的是,在實(shí)現(xiàn)類(lèi)庫(kù)過(guò)程中,需要注重各個(gè)類(lèi)間的隱藏性、封裝性。針對(duì)整體-部分結(jié)構(gòu)來(lái)講,可把一些對(duì)象做成構(gòu)件,建立系統(tǒng)自設(shè)計(jì)構(gòu)件庫(kù)。此時(shí),需要將那些與系統(tǒng)相似的構(gòu)件進(jìn)行收集。最后,依據(jù)特定方式,把構(gòu)件庫(kù)與類(lèi)庫(kù)融合,建立系統(tǒng)架構(gòu),如此便能夠提升整體系統(tǒng)的可移植性,并達(dá)到節(jié)約開(kāi)發(fā)成本的目的。
3 ?結(jié)語(yǔ)
綜上,該文以構(gòu)建主題庫(kù)為核心,探討了一種新型的開(kāi)發(fā)方法,其中,將面向?qū)ο笞鳛榛纠砟?,?shí)現(xiàn)整個(gè)系統(tǒng)的開(kāi)發(fā);此外,還利用軟件復(fù)用主題技術(shù),將其劃歸到系統(tǒng)開(kāi)發(fā)的各環(huán)節(jié)當(dāng)中。把構(gòu)件Web數(shù)據(jù)庫(kù)系統(tǒng),向構(gòu)建此系統(tǒng)主題庫(kù)進(jìn)行轉(zhuǎn)化,以此來(lái)實(shí)現(xiàn)系統(tǒng)在設(shè)計(jì)、分析及代碼等方面的復(fù)用,獲得更好的操作效果。
參考文獻(xiàn)
[1] 張會(huì)娟,許惠平.Web Service技術(shù)在基于WebGIS的移動(dòng)目標(biāo)監(jiān)控系統(tǒng)中的應(yīng)用[J].山西師范大學(xué)學(xué)報(bào):自然科學(xué)版,2016,20(1):30-35.
[2] 楊春金,潘顯映.基于分布式Web的多線(xiàn)程日志的研究[J].計(jì)算機(jī)與數(shù)字工程,2016,34(10):91-93.
[3] 汪維華,葛君偉,解紹詞,等.基于DCOM的分布式Web模型研究[J].計(jì)算機(jī)應(yīng)用研究,2015,22(6):202-203.