【文章內(nèi)容簡(jiǎn)介】
規(guī)范 (CLS) ? 應(yīng)用程序平臺(tái) ( Windows應(yīng)用程序等 ) ? ? 公共語(yǔ)言運(yùn)行庫(kù) (CLR) ? 程序開(kāi)發(fā)環(huán)境 (Visual ) ? 其結(jié)構(gòu)如圖 。 .NET框架的上述結(jié)構(gòu)可以簡(jiǎn)化為圖 。 ? 下面重點(diǎn)介紹 .NET框架平臺(tái)使用的語(yǔ)言、平臺(tái)的作用以及采用的通信協(xié)議三方面的問(wèn)題。 ? 1. .NET框架使用的語(yǔ)言 ? 在 .NET框架上可以運(yùn)行多種語(yǔ)言,這是 .NET的一大優(yōu)點(diǎn)。 .NET框架中的 CLS實(shí)際上是一種語(yǔ)言規(guī)范。由于 .NET框架支持多種語(yǔ)言,并且要在不同語(yǔ)言對(duì)象之間進(jìn)行交互,因此就要求這些語(yǔ)言必須遵守一些共同的規(guī)則。公共語(yǔ)言規(guī)范 (Common Language Specification, CLS)就定義了這些語(yǔ)言的共同規(guī)范,它包括了數(shù)據(jù)類型、語(yǔ)言構(gòu)造等,同時(shí) CLS又被設(shè)計(jì)得足夠的小。 .NET框架的體系結(jié)構(gòu) ? 凡是符合 CLS規(guī)范的語(yǔ)言都可以在 .NET框架上運(yùn)行。目前已經(jīng)有 C .NET、 VB .NET、C++ .NET、 J .NET、 Jscript .NET等 (VBScript已不再使用 )。預(yù)計(jì)還將有 20多種語(yǔ)言可以運(yùn)行在 .NET框架中。目前,有些公司還在創(chuàng)建符合 CLS規(guī)范的自己的語(yǔ)言。 ? JavaScript是各類瀏覽器采用的通用語(yǔ)言。傳統(tǒng)的 JavaScript是一種基于面向?qū)ο蟮哪_本語(yǔ)言,現(xiàn)在 Jscript .NET與 JavaScript語(yǔ)言完全兼容,但卻已將它改造成為一種完全面向?qū)ο蟮恼Z(yǔ)言,不僅給語(yǔ)言增添了很多新功能,還得到 .NET框架的完全支持。 ? 由于多種語(yǔ)言都運(yùn)行在 .NET框架之中,因此它們功能都基本相同,只是語(yǔ)法有區(qū)別。程序開(kāi)發(fā)者可以選擇自己習(xí)慣或愛(ài)好的語(yǔ)言進(jìn)行開(kāi)發(fā)。 VB .NET和 VC .NET與原來(lái)的 VB、VC相比已經(jīng)有很多地方不兼容。 VB .NET和 VB相比變化更大, VB .NET是一種完全面向?qū)ο蟮恼Z(yǔ)言 (而 VB只是基于面向?qū)ο蟮恼Z(yǔ)言 )。 Visual J 是 .NET框架 加進(jìn)來(lái)的語(yǔ)言,供原來(lái)使用 Java語(yǔ)言的程序員轉(zhuǎn)向使用 .NET框架的應(yīng)用程序時(shí)使用。 ? Visual C是為 .NET框架 “ 量體裁衣 ” 開(kāi)發(fā)出來(lái)的語(yǔ)言,非常簡(jiǎn)練和安全,最適合于在 .NET框架中使用。本書的示例都是用 C編寫的。 C的簡(jiǎn)要語(yǔ)法請(qǐng)參閱本書的附錄 A。 .NET框架的體系結(jié)構(gòu) 程序設(shè)計(jì)語(yǔ)言 (V B C+ + C J ?? ) 公共語(yǔ)言規(guī)范 (Co m m o n L a n g u a g e S p e c if ic a tio n ) A SP .NET W in d o w s W e b 服務(wù) 窗體 A D O .NET 與 X M L .NET 類庫(kù) (Ba se Cla ss L ib ra ry ) 公共語(yǔ)言運(yùn)行庫(kù) (環(huán)境 ) (Co m m o n L a n g u a g e Ru n tim e ) 程序開(kāi)發(fā)環(huán)境 ( Visual Studio .NET ) 圖 .NET框架的體系結(jié)構(gòu) .NET框架的體系結(jié)構(gòu) 公共語(yǔ)言運(yùn)行庫(kù) C L R 語(yǔ)言與開(kāi)發(fā)工具 類庫(kù) 圖 框架的簡(jiǎn)化圖 .NET框架的體系結(jié)構(gòu) .NET框架的體系結(jié)構(gòu) .NET框架的體系結(jié)構(gòu) ? 2. 類庫(kù) ? .NET框架的另一個(gè)主要組成部分是類庫(kù),包括數(shù)千個(gè)可重用的 “ 類 ” 。各種不同的開(kāi)發(fā)語(yǔ)言都可以用它來(lái)開(kāi)發(fā)傳統(tǒng)的命令行程序或者圖形用戶界面 (GUI)應(yīng)用程序。 ? .NET框架中的類被拆分為命名空間。命名空間 (NameSpace)是類庫(kù)的邏輯分區(qū)。類庫(kù)所采用的命名空間呈層次結(jié)構(gòu),即命名空間下面又可以再分成子命名空間。每個(gè)命名空間都包含一組按照功能劃分的相關(guān)的類。這樣,一個(gè)大型的 .NET庫(kù)就變得易于理解和便于使用。 ? 例如: ? 所有微軟公司提供的類都以 System 或 Microsoft 命名空間開(kāi)頭。 ? 有關(guān)網(wǎng)絡(luò)協(xié)議和簡(jiǎn)單的編程接口的類放在 。 ? 有關(guān)文件 I/O、內(nèi)存 I/O、獨(dú)立存儲(chǔ)的類放在 。 ? 基于 Windows應(yīng)用程序的用戶界面的類放在 間中。 ? 有關(guān) Web服務(wù)器與瀏覽器交互,以及 Web服務(wù)的類都放入 。 ? 所有用于處理 XML、 XML架構(gòu)、 XSL/T轉(zhuǎn)換、 Xpath表達(dá)式的類都放入 。 ? 3. 公共語(yǔ)言運(yùn)行庫(kù) (CLR) ? 公共語(yǔ)言運(yùn)行庫(kù) (CLR,也稱公共語(yǔ)言運(yùn)行環(huán)境 )就相當(dāng)于 Java體系中的 “ 虛擬機(jī) ” ,它是 .NET 框架的核心。它提供了程序運(yùn)行時(shí)的內(nèi)存管理、垃圾