国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于.NET組件技術(shù)的網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)研究

2016-05-14 21:38趙婉芳

趙婉芳

摘要:網(wǎng)絡(luò)應(yīng)用系統(tǒng)開(kāi)發(fā)是軟件系統(tǒng)構(gòu)建研究的重點(diǎn)方向,采用組件結(jié)構(gòu)開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)不僅可以提高開(kāi)發(fā)速度,有效降低開(kāi)發(fā)費(fèi)用,也利于軟件系統(tǒng)的升級(jí)維護(hù)。本文主要研究了.NET組件技術(shù),以網(wǎng)絡(luò)應(yīng)用教學(xué)平臺(tái)為例設(shè)計(jì)了基于.NET組件的網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)結(jié)構(gòu),并討論了開(kāi)發(fā)過(guò)程中組件類的具體實(shí)現(xiàn)過(guò)程及實(shí)現(xiàn)重點(diǎn),對(duì)于基于組件的軟件系統(tǒng)開(kāi)發(fā)有一定的借鑒意義。

關(guān)鍵詞:組件技術(shù) 公共語(yǔ)言運(yùn)行庫(kù)CLR 網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)

中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2016)07-0055-01

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)應(yīng)用系統(tǒng)開(kāi)發(fā)成為軟件系統(tǒng)構(gòu)建研究的重點(diǎn)方向,而基于組件技術(shù)開(kāi)發(fā)多層結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng),則是近年來(lái)應(yīng)用軟件開(kāi)發(fā)領(lǐng)域中的主流技術(shù)。在組件技術(shù)中用戶基于可以重復(fù)使用的組件庫(kù)來(lái)構(gòu)建開(kāi)發(fā)特定的應(yīng)用軟件系統(tǒng),很好的解決了分層應(yīng)用系統(tǒng)架構(gòu)中的代碼重用,功能封裝以及模塊協(xié)同工作等問(wèn)題,不僅縮短了軟件開(kāi)發(fā)周期,而且也使得軟件的維護(hù)升級(jí)費(fèi)用大大降低。

1 NET組件技術(shù)

微軟公司于1993年提出組件對(duì)象模型COM(Component Object Model),該對(duì)象模型規(guī)定了對(duì)象組件之間相互通信的方式及規(guī)范,其實(shí)現(xiàn)與平臺(tái)及使用語(yǔ)言無(wú)關(guān),同時(shí)也支持網(wǎng)絡(luò)互聯(lián)技術(shù)。COM組件定義有很高的精確性,因此產(chǎn)生代碼的方式非??焖儆行?,但這些優(yōu)點(diǎn)同時(shí)也使得系統(tǒng)開(kāi)發(fā)的不可靠性以及升級(jí)擴(kuò)展的復(fù)雜性大大提高,導(dǎo)致com模型缺乏穩(wěn)固的平臺(tái)技術(shù)。為了解決COM所存在的這些問(wèn)題,微軟公司進(jìn)一步推出了.NET框架技術(shù),該技術(shù)的核心部分是公共語(yǔ)言運(yùn)行庫(kù)CLR(Common Language Runtime),它繼承并發(fā)展于COM技術(shù),完全代替了COM的組件功能,有效的解決了COM組件模型中缺乏穩(wěn)固的平臺(tái)技術(shù)的問(wèn)題。在.NET 架構(gòu)中CLR負(fù)責(zé)管理程序集的執(zhí)行,而在.NET的程序集中所包含的CIL標(biāo)準(zhǔn)代碼也只能在CLR的支持下才能運(yùn)行,不能被直接執(zhí)行。另外,為了提高平臺(tái)可靠性,達(dá)到商業(yè)應(yīng)用所要求的穩(wěn)定性級(jí)別,CLR還負(fù)責(zé)監(jiān)視程序的運(yùn)行等其他任務(wù)。下圖1-1展示了.NET程序集與CRL的相互關(guān)系。

2 基于.NET組件的網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)研究

基于組件技術(shù)的三層網(wǎng)絡(luò)軟件平臺(tái)系統(tǒng)結(jié)構(gòu)一般劃分為三層,分別是用戶層,業(yè)務(wù)邏輯層,數(shù)據(jù)層。系統(tǒng)通過(guò)分層架構(gòu)實(shí)現(xiàn)了分布式數(shù)據(jù)處理,并將所有對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)及包含教學(xué)信息的事務(wù)全部封裝起來(lái),將用戶與數(shù)據(jù)隔離,有效地保證了數(shù)據(jù)庫(kù)和系統(tǒng)的安全,有著更高的安全性。此外業(yè)務(wù)邏輯層采用組件技術(shù)開(kāi)發(fā),以達(dá)到提高系統(tǒng)靈活性并且易于移植目的。下面以網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)中的教學(xué)系統(tǒng)為例來(lái)深入分析研究網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)過(guò)程及重點(diǎn)。

應(yīng)用邏輯層是表示層和數(shù)據(jù)層之間的中間層,主要負(fù)責(zé)實(shí)現(xiàn)整個(gè)應(yīng)用系統(tǒng)的核心功能,因此也是技術(shù)要求最復(fù)雜的一層。在該層的開(kāi)發(fā)中,首先需要采用面向?qū)ο蠼5姆椒ǚ治鱿到y(tǒng)業(yè)務(wù)活動(dòng)中所涉及的主要對(duì)象,然后參考系統(tǒng)功能模型,抽象并提取出包含業(yè)務(wù)邏輯的組件對(duì)象來(lái)實(shí)現(xiàn)具體的系統(tǒng)功能。因此應(yīng)用邏輯層主要由不同的功能模塊構(gòu)成,而不同的功能模塊又由基于組件技術(shù)構(gòu)建的不同業(yè)務(wù)組件構(gòu)成。教學(xué)平臺(tái)系統(tǒng)中主要實(shí)現(xiàn)的功能有:課堂學(xué)習(xí)、視頻點(diǎn)播、在線討論、問(wèn)題解答、作業(yè)提交、個(gè)性化自測(cè)評(píng)價(jià)、公告欄等。

數(shù)據(jù)層是整個(gè)系統(tǒng)的基礎(chǔ),一般包含有用戶信息數(shù)據(jù)庫(kù)、教學(xué)資源數(shù)據(jù)庫(kù)、知識(shí)結(jié)構(gòu)數(shù)據(jù)庫(kù)。在用戶信息數(shù)據(jù)庫(kù)中主要存放教師、學(xué)生及管理人員的基本信息。教學(xué)資源數(shù)據(jù)庫(kù)主要包括教案、課件、練習(xí)、試題等資源,是系統(tǒng)中的核心數(shù)據(jù)庫(kù)。知識(shí)結(jié)構(gòu)數(shù)據(jù)庫(kù)主要對(duì)信息資源進(jìn)行組織管理。數(shù)據(jù)層一般采用存儲(chǔ)過(guò)程來(lái)實(shí)現(xiàn)對(duì)底層數(shù)據(jù)的訪問(wèn),與業(yè)務(wù)邏輯層不在同一臺(tái)機(jī)器上,可以通過(guò)Internet相連,并使用數(shù)據(jù)庫(kù)系統(tǒng)的公用接口標(biāo)準(zhǔn)進(jìn)行訪問(wèn)。 這樣的分層教學(xué)平臺(tái)系統(tǒng)而數(shù)據(jù)訪問(wèn)的是通過(guò)標(biāo)準(zhǔn)的數(shù)據(jù)訪問(wèn)接口,所以和跟所使用的數(shù)據(jù)庫(kù)無(wú)關(guān),在.NET體系中一般選用sql server數(shù)據(jù)庫(kù)?;?NET組件網(wǎng)絡(luò)軟件應(yīng)用系統(tǒng)結(jié)構(gòu)圖如下圖2-1所示。

3 NET組件的具體開(kāi)發(fā)實(shí)現(xiàn)

組件的實(shí)現(xiàn)主要涉及到組件和容器概念。構(gòu)造組件的模版在組件中定義提供;而容器中則定義了組件之間有效結(jié)合的方法,提供環(huán)境來(lái)支持組件之間的結(jié)合和交互。組件的開(kāi)發(fā)實(shí)現(xiàn)主要包括編寫組件類,編譯和分發(fā)組件過(guò)程。

.Net組件使用類和接口來(lái)實(shí)現(xiàn),一個(gè).Net組件一般位于一個(gè)命名空間下,.net framework的核心語(yǔ)言是C#, C#所有的代碼都必須封裝在一個(gè)類中,因此在編寫組件類前首先要?jiǎng)?chuàng)建一個(gè)命名空間(namespace)來(lái)封裝這個(gè)組件中的類,只要知道該命名空間,即可方便地創(chuàng)建對(duì)象,不再像COM一樣需要復(fù)雜的創(chuàng)建函數(shù)來(lái)創(chuàng)建組件。注意命名空間的使用有很多種方法,可以嵌套命名空間,也可以在一個(gè)源文件里聲明多個(gè)非嵌套的命名空間,還可以將命名空間內(nèi)部的類分別寫在多個(gè)文件中。在創(chuàng)建完命名空間后就可以在其中創(chuàng)建類,每個(gè)類都中都必須定義構(gòu)造函數(shù),構(gòu)造函數(shù)和類同名,沒(méi)有返回值類型前綴,因此也沒(méi)有返回值。當(dāng)用戶新建一個(gè)實(shí)例類時(shí),構(gòu)造函數(shù)會(huì)隨之自動(dòng)執(zhí)行,而C#的垃圾收集機(jī)制則會(huì)開(kāi)始對(duì)這個(gè)實(shí)例進(jìn)行管理并且在不需要時(shí)進(jìn)行資源的回收。最后編寫類中的具體功能函數(shù)就完成一個(gè)組件類的編碼過(guò)程。組件類編寫完成后,接下來(lái)要做得是把該類編譯成.dll文件,由于.dll文件的內(nèi)容已經(jīng)提前編譯完畢,在發(fā)布過(guò)程中不需要進(jìn)行再次編譯,因此這種方式可以大大提高程序運(yùn)行速度,而且對(duì)后臺(tái)源代碼能夠進(jìn)行有效保護(hù),提高安全性。當(dāng)生成的dll組件 (程序集)后,任何一種.Net平臺(tái)支持的語(yǔ)言就可以對(duì)該組件進(jìn)行調(diào)用了。

4 結(jié)語(yǔ)

采用組件結(jié)構(gòu)開(kāi)發(fā)軟件可以縮短開(kāi)發(fā)時(shí)間,減少集成費(fèi)用,同時(shí)降低系統(tǒng)維護(hù)難度。隨著網(wǎng)絡(luò)應(yīng)用系統(tǒng)復(fù)雜度的日益提高,利用組件技術(shù)開(kāi)發(fā)應(yīng)用軟件系統(tǒng)的需求也越來(lái)越迫切,因此基于組件技術(shù)的多層結(jié)構(gòu)網(wǎng)絡(luò)應(yīng)用系統(tǒng)研究將會(huì)是軟件開(kāi)發(fā)領(lǐng)域的熱點(diǎn)之一,并且會(huì)受到越來(lái)越多的關(guān)注。

參考文獻(xiàn)

[1]馬良.基于com 組件技術(shù)和BS體系開(kāi)發(fā)應(yīng)用系統(tǒng)[J].技術(shù)與創(chuàng)新管理,2009,7.

[2]秦偉俊,史元春.基于多層體系結(jié)構(gòu)的網(wǎng)絡(luò)教學(xué)系統(tǒng)[J].清華大學(xué)學(xué)報(bào),2006,7.

专栏| 砀山县| 都江堰市| 都安| 康定县| 泰兴市| 西城区| 海南省| 大宁县| 明溪县| 图木舒克市| 祥云县| 怀柔区| 临江市| 潍坊市| 寿宁县| 肥西县| 含山县| 景德镇市| 通许县| 青神县| 大足县| 长寿区| 清镇市| 梅州市| 慈溪市| 安福县| 昌吉市| 吴川市| 乌兰察布市| 宁河县| 海口市| 余姚市| 郁南县| 沈阳市| 勃利县| 南雄市| 财经| 尖扎县| 固原市| 黄龙县|