成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET框架與COM:背景和歷史,關(guān)系的發(fā)展

開發(fā) 后端
.NET框架是一個多語言組件開發(fā)和執(zhí)行環(huán)境。.NET框架的一個主要目的是使COM開發(fā)變得更加容易。本文介紹.NET框架與COM的關(guān)系,以及它們的歷史和背景。

.NET框架與COM:背景和歷史

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

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

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

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

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

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

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

什么是.NET框架?

.NET框架是一個多語言組件開發(fā)和執(zhí)行環(huán)境,它由以下三個主要部分組成:

公共語言運行時。此名稱不能準確反映它的全部功能。實際上,公共語言運行時在組件的開發(fā)及運行過程中,都扮演著非常重要的角色。在組件運行過程中,運行時負責管理內(nèi)存分配、啟動或刪除線程和進程、實施安全性策略、同時滿足當前組件對其它組件的需求。在開發(fā)階段,運行時的作用有些變化:與現(xiàn)今的COM相比,運行時的自動化程度大為提高(比如可自動執(zhí)行內(nèi)存管理),因而開發(fā)人員的工作變得非常輕松。尤其是,映射功能將銳減開發(fā)人員將業(yè)務邏輯程序轉(zhuǎn)化成可復用組件的代碼編寫量。對編程語言而言,運行時這個概念并不新奇:實際上每種編程語言都有自己的運行時。Visual Basic開發(fā)系統(tǒng)具有最為明顯的運行時(名為VBRUN),Visual C++?跟Visual FoxPro?、Jscript?、SmallTalk、Perl、Python和Java一樣有一個運行時,即MSVCRT。.NET框架的關(guān)鍵作用在于,它提供了一個跨編程語言的統(tǒng)一編程環(huán)境,這也是它能獨樹一幟的根本原因。

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

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

.NET框架與COM的關(guān)系

.NET框架的一個主要目的是使COM開發(fā)變得更加容易。COM開發(fā)過程中最難的一件事是處理COM基本結(jié)構(gòu)。因此,為了簡化COM開發(fā),.NET框架實際上已自動處理了所有在開發(fā)人員看來是與“COM”緊密相關(guān)的任務,包括引用計算、接口描述以及注冊。

必須認識到,這并不意味著.NET框架組件不是COM組件。事實上,使用Visual Studio 6.0的COM開發(fā)人員可以調(diào)用.NET框架組件,并且在他們看來,后者更像是擁有iUnknown數(shù)據(jù)的COM組件。相反,使用Visual Studio.NET的.NET框架開發(fā)人員則將COM組件視作.NET框架組件。

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

.NET框架與COM+的關(guān)系

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

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

【編輯推薦】

  1. .NET框架與XML:Web服務的未來之道
  2. Windows 7 API Code Pack介紹
  3. .NET內(nèi)存映射文件原理、創(chuàng)建及進程通訊
  4. .NET正則表達式的歷史
  5. .asmx處理程序提供的功能之自動生成WSDL
責任編輯:yangsai 來源: 微軟.NET網(wǎng)站
相關(guān)推薦

2022-01-24 17:08:33

Linux容器Docker

2020-05-12 16:58:05

LinuxUnix技術(shù)

2013-08-27 10:52:35

Java.Net

2020-08-12 10:25:39

JavaScript開發(fā)技術(shù)

2017-05-15 15:00:35

預付卡歷史現(xiàn)狀

2010-04-15 16:08:41

Unix操作系統(tǒng)

2009-08-20 10:13:49

ASP.NET和C#的

2024-02-21 09:00:00

.NET框架開發(fā)

2009-05-17 10:48:19

微軟Windows Mob移動OS

2009-09-28 13:45:59

Hibernate歷史

2019-07-23 08:47:28

2019-05-05 16:13:07

關(guān)系型數(shù)據(jù)庫OracleMySQL

2009-08-03 16:13:36

C#與.NET的發(fā)展

2009-09-18 19:00:01

2024-06-18 13:17:02

數(shù)據(jù)庫框架

2010-03-12 10:48:22

Python編程語言

2011-02-15 14:30:24

PowerShell.NET框架

2010-06-02 16:46:31

Slackware

2009-10-19 11:28:42

VB.NET語言.NET開發(fā)語言

2022-06-21 11:04:23

物聯(lián)網(wǎng)LOT
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩欧美在线观看视频 | 成人av在线网站 | 亚洲欧美高清 | 精品在线视频播放 | 成人午夜免费视频 | 一区二区三区在线观看视频 | 黑人精品xxx一区一二区 | 日本aⅴ中文字幕 | 国产我和子的乱视频网站 | 欧美午夜精品 | av成年人网站 | 夜夜骑首页| 国产精品18毛片一区二区 | 精品日韩一区 | 日韩av一区二区在线观看 | 九九热在线视频观看这里只有精品 | 精品国产不卡一区二区三区 | 亚洲韩国精品 | 午夜av在线| 日韩二区| a级免费观看视频 | 成人国产精品视频 | 成人精品国产一区二区4080 | 9色网站| 欧美理论片在线观看 | 国产精品成人国产乱一区 | 久久综合伊人 | 国产精品毛片 | 午夜影视免费片在线观看 | 亚洲视频中文字幕 | 天堂色 | 久久精品欧美一区二区三区不卡 | 色播视频在线观看 | 欧美一区2区三区3区公司 | 97av视频在线| 超碰97免费在线 | www.奇米| 午夜精品视频 | 久久国产区 | 亚洲高清视频在线观看 | 欧美色欧美亚洲另类七区 |