国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
.NET與COM

NET框架與COM

背景和歷史
可復(fù)用軟件不是一個新概念。八年來,人們一直在使用各種形式的組件對象模型(COM)
。事實(shí)證明,它是最為成功的可復(fù)用軟件模型。COM引進(jìn)了“組件”的概念——它是可
復(fù)用的代碼塊,可以將多個獨(dú)立函數(shù)的功能進(jìn)行組合,從而擴(kuò)充成諸如Microsoft
Word這樣的應(yīng)用程序。

大多數(shù)開發(fā)人員使用OLE時深刻體驗(yàn)了COM功能。OLE是基于COM形成的一組功能,使得用
戶能將一種文檔嵌入到另一種文檔中。這個功能本身似乎不太引人入勝,但它的作用卻
不同凡響:當(dāng)用戶將一個Excel文 嫡 貼到Word文檔中后,單擊嵌入的Excel文檔時,
OLE將會把Word的工具欄和菜單轉(zhuǎn)換成Excel的工具欄和菜單。

從開發(fā)人員的角度看,COM通過引進(jìn)幾個明確定義的接口(諸如iUnknown)便可提供代
碼復(fù)用功能,開發(fā)期工具可通過這些接口來查詢一個組件的功能,并能把這些功能添加
到工具中。這就像Visual Basic?開發(fā)系統(tǒng)工具箱中的控件能夠被拖到某個窗體中一樣
。實(shí)際上,每個控件都代表上百行甚至上千行的代碼,可以容易地封裝在“黑匣子”中
,開發(fā)人員只需直接調(diào)用其功能即可。

開發(fā)人員在使用COM時感到不便的一個問題是,他們必須編寫附加代碼來將業(yè)務(wù)邏輯程
序轉(zhuǎn)換成可復(fù)用的組件,同時還必須實(shí)現(xiàn)許多接口才能進(jìn)行這種轉(zhuǎn)換。最重要的是,
COM要求開發(fā)人員必須手動處理復(fù)雜問題,比如:清空不再使用的組件曾占用的內(nèi)存、
計(jì)算組件的使用次數(shù)、建立或撤消線程和進(jìn)程以及處理版本控制問題等。

有人可能認(rèn)為,讓開發(fā)人員親自執(zhí)行這類工作的主意非常好,但這也有幾個弊端。首先
,要開發(fā)人員一一執(zhí)行上述所有工作非常困難,往往容易出錯:導(dǎo)致應(yīng)用程序錯誤、系
統(tǒng)崩潰以及可怕的“DLL Hell”。另外,嚴(yán)格地寫出所有這種附加代碼,會降低開發(fā)人
員的工作效率,導(dǎo)致延期上市。

這對使用Visual C++?開發(fā)系統(tǒng)的開發(fā)人員來說,尤其如此。而對使用Visual Basic的
開發(fā)人員來說,這種情況不是很嚴(yán)重。Visual Basic抽象并簡化了COM的許多概念,是
全世界最具生產(chǎn)力、最流行的開發(fā)環(huán)境,但它的局限性在于:為了實(shí)現(xiàn)這種高生產(chǎn)力而
不得不向開發(fā)人員屏蔽了COM的一些功能。

微軟在2000年的專業(yè)開發(fā)人員大會(PDC)上引進(jìn)的.NET框架,能自動在軟件編寫過程
中進(jìn)行“智能拼接”,使得開發(fā)人員可以集中精力編寫業(yè)務(wù)邏輯,而不必編寫COM基本
結(jié)構(gòu)。

什么是.NET框架?
.NET框架是一個多語言組件開發(fā)和執(zhí)行環(huán)境,它由以下三個主要部分組成:
公共語言運(yùn)行時。此名稱不能準(zhǔn)確反映它的全部功能。實(shí)際上,公共語言運(yùn)行時在組件
的開發(fā)及運(yùn)行過程中,都扮演著非常重要的角色。在組件運(yùn)行過程中,運(yùn)行時負(fù)責(zé)管理
內(nèi)存分配、啟動或刪除線程和進(jìn)程、實(shí)施安全性策略、同時滿足當(dāng)前組件對其它組件的
需求。在開發(fā)階段,運(yùn)行時的作用有些變化:與現(xiàn)今的COM相比,運(yùn)行時的自動化程度
大為提高(比如可自動執(zhí)行內(nèi)存管理),因而開發(fā)人員的工作變得非常輕松。尤其是,
映射功能將銳減開發(fā)人員將業(yè)務(wù)邏輯程序轉(zhuǎn)化成可復(fù)用組件的代碼編寫量。

對編程語言而言,運(yùn)行時這個概念并不新奇:實(shí)際上每種編程語言都有自己的運(yùn)行時。
Visual Basic開發(fā)系統(tǒng)具有最為明顯的運(yùn)行時(名為VBRUN),Visual C++?跟Visual
FoxPro?、Jscript?、SmallTalk、Perl、Python和Java一樣有一個運(yùn)行時,即MSVCRT。
.NET框架的關(guān)鍵作用在于,它提供了一個跨編程語言的統(tǒng)一編程環(huán)境,這也是它能獨(dú)樹
一幟的根本原因。

統(tǒng)一的編程類。.NET框架為開發(fā)人員提供了一個統(tǒng)一、面向?qū)ο?、層次化、可擴(kuò)展的類
庫集(API)?,F(xiàn)今,C++開發(fā)人員使用的是Microsoft基類庫,Java開發(fā)人員使用的是
Windows?基類庫,而Visual Basic用戶使用的又是Visual Basic API集。只是簡單地一
用,.NET框架就統(tǒng)一了微軟當(dāng)前的各種不同類框架。這樣,開發(fā)人員無需學(xué)習(xí)多種框架
就能順利編程。遠(yuǎn)不止于此的是,通過創(chuàng)建跨編程語言的公共API集,.NET框架可實(shí)現(xiàn)
跨語言繼承性、錯誤處理功能和調(diào)試功能。實(shí)際上,從JScript到C++的所有編程語言,
都是相互等同的,開發(fā)人員可以自由選擇理想的編程語言。

活動服務(wù)器頁面(ASP+)。ASP+是使用.NET框架提供的編程類庫構(gòu)建而成的,它提供了
Web應(yīng)用程序模型,該模型由一組控件和一個基本結(jié)構(gòu)組成。有了它,Web應(yīng)用程序的構(gòu)
建變得非常容易。開發(fā)人員可以直接使用ASP+控件集,該控件集封裝了公共的、用于超
文本標(biāo)識語言(HTML)用戶界面的各種小器件(諸如文本框、下拉菜單等等)。實(shí)際上,
這些控件運(yùn)行在Web服務(wù)器上,它們將用戶界面轉(zhuǎn)換成HTML格式后再發(fā)送給瀏覽器。在
服務(wù)器上,控件負(fù)責(zé)將面向?qū)ο蟮木幊棠P吞峁┙oWeb開發(fā)人員,這種編程模型能提供
面向?qū)ο缶幊碳夹g(shù)的豐富功能。ASP+還提供一些基本結(jié)構(gòu)服務(wù)(諸如會話狀態(tài)管理和進(jìn)
程重啟服務(wù)),這些服務(wù)大大減少了開發(fā)人員要編寫的代碼量,并使應(yīng)用程序的可靠性
得到大幅度提高。ASP+還允許開發(fā)人員將軟件作為一項(xiàng)服務(wù)來提供。通過使用ASP+
Web服務(wù)功能,ASP+開發(fā)人員只需進(jìn)行簡單的業(yè)務(wù)邏輯編程,而由ASP+基本結(jié)構(gòu)負(fù)責(zé)通
過簡單對象訪問協(xié)議(SOAP)來提供服務(wù)。

與COM的關(guān)系
.NET框架的一個主要目的是使COM開發(fā)變得更加容易。COM開發(fā)過程中最難的一件事是處
理COM基本結(jié)構(gòu)。因此,為了簡化COM開發(fā),.NET框架實(shí)際上已自動處理了所有在開發(fā)人
員看來是與“COM”緊密相關(guān)的任務(wù),包括引用計(jì)算、接口描述以及注冊。
必須認(rèn)識到,這并不意味著.NET框架組件不是COM組件。事實(shí)上,使用Visual Studio
6.0的COM開發(fā)人員可以調(diào)用.NET框架組件,并且在他們看來,后者更像是擁有
iUnknown數(shù)據(jù)的COM組件。相反,使用Visual Studio.NET的.NET框架開發(fā)人員則將COM
組COM件視作.NET框架組件。

為了避免引起誤解,這里需對這種關(guān)系加以特別說明:COM開發(fā)人員必須手動去做大多
數(shù).NET框架開發(fā)人員可以在運(yùn)行時自動執(zhí)行的事情。例如,必須手寫COM組件的安全性
模塊,且無法自動管理模塊占用的內(nèi)存,而在安裝COM組件時,注冊條目必須放進(jìn)
Windows注冊表中。對.NET框架而言,運(yùn)行時實(shí)現(xiàn)了這些功能的自動化。例如,組件本
身是自我描述型的,因而無需注冊到Windows注冊表中便能安裝。

與COM+的關(guān)系
當(dāng)把COM與Microsoft事務(wù)服務(wù)器(MTS)和分布式COM(DCOM)結(jié)合在一起時,就變成了COM+.
COM+提供了一組面向中間層的服務(wù)。特別是COM+提供了進(jìn)程管理功能和數(shù)據(jù)庫與
對象連接池處理功能。在將來的版本中,它還將提供一種稱為分區(qū)的功能——專門為應(yīng)
用程序服務(wù)提供商設(shè)計(jì)的更強(qiáng)大的進(jìn)程隔離功能。

COM+服務(wù)主要面向中間層應(yīng)用程序開發(fā),并主要為大型分布式應(yīng)用程序提供可靠性和可
擴(kuò)展性。這些服務(wù)是對.NET框架所提供服務(wù)的補(bǔ)充;通過.NET框架類,可以直接訪問這
些服務(wù)。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#學(xué)習(xí)筆記一:C#開發(fā)環(huán)境的設(shè)置
開發(fā)相關(guān)概念普及
C#/NET Core推薦學(xué)習(xí)書籍升職加薪,值得擁有)
微軟Visual Studio 2010將給C++開發(fā)者更多關(guān)懷
Visual Studio各版本區(qū)別
Visual Basic 終于要衰落了嗎?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服