使用.NET Framework,Microsoft Visual Basic開(kāi)發(fā)人員可以創(chuàng)建健壯的、在先前的Visual Basic版本中很難編寫的應(yīng)用程序。本文將討論使用.NET Framework的好處,并且將包括一些功能強(qiáng)大的、Visual Basic開(kāi)發(fā)人員可以與該框架一起使用的特性,包括多線程和線程池(thread pooling)、Windows服務(wù)和文件系統(tǒng)監(jiān)控等。
為什么使用框架
單詞框架(framework)有幾種含意。在這種情況中,它指的是創(chuàng)建和運(yùn)行應(yīng)用程序的基礎(chǔ)。擁有這樣的基礎(chǔ)使得創(chuàng)建應(yīng)用程序變得更容易,而同時(shí)使用了一個(gè)一致的、簡(jiǎn)化的程序設(shè)計(jì)模型。
作為一個(gè)Visual Basic 6.0開(kāi)發(fā)人員,你對(duì)于這種程序設(shè)計(jì)語(yǔ)言感覺(jué)很滿意,它使得創(chuàng)建各種應(yīng)用程序變得很容易。Visual Basic語(yǔ)言本身提供了固有的數(shù)據(jù)類型,如 Integer, Long和String,以及一些最常用的函數(shù),如字符串處理和數(shù)據(jù)類型轉(zhuǎn)換等。當(dāng)你的應(yīng)用程序變得更復(fù)雜時(shí),你可以使用Win32 API來(lái)完成標(biāo)準(zhǔn)的Visual Basic函數(shù)所不能實(shí)現(xiàn)的功能-如獲取任意的注冊(cè)鍵和數(shù)值。在許多情況中,你還可以使用COM(Component Object Model,組件對(duì)象模型)組件庫(kù)來(lái)擴(kuò)展應(yīng)用程序的功能;最明顯的例子是ADO(ActiveX Data Objects)庫(kù),你的應(yīng)用程序可以使用它來(lái)進(jìn)行數(shù)據(jù)訪問(wèn)。
雖然Visual Basic足夠靈活,可以提供這些不同的可擴(kuò)展性機(jī)制,但這種靈活性仍然需要你學(xué)習(xí)幾種復(fù)雜的API體系結(jié)構(gòu)。你需要了解Win32如何工作,以及如何在Visual Basic中調(diào)用它們,這可能會(huì)是一個(gè)既費(fèi)時(shí)又容易出錯(cuò)的任務(wù)。你還需要了解如何在Visual Basic中使用各種COM組件,每個(gè)COM組件都有一個(gè)不同的對(duì)象模型。
最后,當(dāng)你使用Win32 API、ADO,也可能使用許多其他COM組件,創(chuàng)建自己的Visual Basic應(yīng)用程序時(shí),你需要管理這些應(yīng)用程序的部署以及它們的相關(guān)性。一個(gè)典型的Visual Basic應(yīng)用程序的相關(guān)性列表所包括的遠(yuǎn)遠(yuǎn)多于Visual Basic運(yùn)行時(shí)(runtime);它必須包括應(yīng)用程序使用的所有對(duì)象庫(kù),如ADO 2.6。
公共框架背后的想法是解決這些問(wèn)題,并使得用戶創(chuàng)建健壯的應(yīng)用程序變得更容易,而無(wú)需學(xué)習(xí)多種不同的API體系結(jié)構(gòu),并且無(wú)需部署和處理多種對(duì)象庫(kù)的版本問(wèn)題。
什么是.NET Framework
術(shù)語(yǔ).NET Framework指的是構(gòu)成Microsoft .NET平臺(tái)開(kāi)發(fā)基礎(chǔ)的一組技術(shù)。這一組中的關(guān)鍵技術(shù)是運(yùn)行時(shí)(runtime)和類庫(kù),如圖1所示。
圖 1. .NET Framework由.NET運(yùn)行時(shí)和類庫(kù)組成
運(yùn)行時(shí)負(fù)責(zé)管理代碼,在執(zhí)行時(shí)向它提供服務(wù),這與Visual Basic 6.0運(yùn)行時(shí)的作用類似。.NET程序設(shè)計(jì)語(yǔ)言-包括Visual Basic .NET、Microsoft Visual C#、C++管理的擴(kuò)展,以及多種來(lái)自不同開(kāi)發(fā)商的程序設(shè)計(jì)語(yǔ)言-通過(guò)一組公共的統(tǒng)一類來(lái)利用各種服務(wù)和特性。
.NET統(tǒng)一類提供了創(chuàng)建應(yīng)用程序的基礎(chǔ),而不管你使用何種語(yǔ)言。無(wú)論你只是簡(jiǎn)單地連接一個(gè)字符串,還是創(chuàng)建一個(gè)Windows服務(wù)或多層的基于網(wǎng)絡(luò)的應(yīng)用程序,你都要用到這些統(tǒng)一類。
統(tǒng)一類為訪問(wèn)平臺(tái)的功能性提供了一種一致的方法。一旦你學(xué)會(huì)了使用類庫(kù),你就會(huì)發(fā)現(xiàn)所有任務(wù)都遵循同一個(gè)一致的體系結(jié)構(gòu)。要編寫自己的應(yīng)用程序,你無(wú)需學(xué)習(xí)和掌握不同的API體系結(jié)構(gòu)。
由于.NET Framework,部署Visual Basic .NET應(yīng)用程序變得更容易了。與Visual Basic 6.0應(yīng)用程序不同,你無(wú)需配置各種相關(guān)性,如單獨(dú)的數(shù)據(jù)訪問(wèn)庫(kù)、XML語(yǔ)法分析器和網(wǎng)絡(luò)API,因?yàn)樗羞@些功能都是.NET Framework的組成部分。
通過(guò)在統(tǒng)一的、集成的框架上創(chuàng)建自己的應(yīng)用程序,你可以實(shí)現(xiàn)學(xué)習(xí)這種框架所花費(fèi)時(shí)間的最大回報(bào),并且你將擁有更多容易部署和使用的健壯的應(yīng)用程序。