北京北大青鳥(niǎo)校區(qū)學(xué)術(shù)部資深技術(shù)老師在授課過(guò)程中發(fā)現(xiàn),很多學(xué)員在學(xué)習(xí)ASP.NET技術(shù)的時(shí)候,依舊對(duì)一些基本的術(shù)語(yǔ)搞不明白。這會(huì)非常阻礙學(xué)習(xí)的進(jìn)步。于是今天,北京北大青鳥(niǎo)校區(qū)老師就為同學(xué)們集中講解一下ASP.NET必須知道的術(shù)語(yǔ)
1、什么是 CLS?
CLS = Common Language Specification—通用語(yǔ)言規(guī)范。它是預(yù)計(jì)所有 .NET 語(yǔ)言都支持的一個(gè) CTS 的子集。這一思想是讓使用 CLS-相容類(lèi)型的任何程序和以任何語(yǔ)言編寫(xiě)的 .NET 程序可以互相操作。理論上它能允許在不同的 .NET 語(yǔ)言之間有緊密的互操作性—例如允許從一個(gè) VB 類(lèi)里繼承一個(gè) C# 類(lèi)。
2、什么是 CTS?
CTS = Common Type System—通用類(lèi)型系統(tǒng)。它是指 .NET 運(yùn)行庫(kù)所理解、并且隨后 .NET 應(yīng)用程序可以使用的一系列類(lèi)型。然而,注意不是所有的 .NET 語(yǔ)言都將支持 CTS 中的所有類(lèi)型。CTS 是 CLS 的超集。
3、什么是 CLR?
CLR = Common Language Runtime—通用語(yǔ)言運(yùn)行庫(kù)。CLR 是一組標(biāo)準(zhǔn)資源集合,無(wú)論編程語(yǔ)言是什么,所有 (理論上) .NET 程序都能從中獲益。Robert Schmidt (Microsoft) 在他的 MSDN PDC# 文章 中列出了以下 CLR 資源:
面向?qū)ο蟮木幊棠P?(繼承、多態(tài)、異常處理、垃圾收集)
安全模型
類(lèi)型系統(tǒng)
所有的 .NET 基礎(chǔ)類(lèi)
許多 .NET 框架類(lèi)
開(kāi)發(fā)、調(diào)試和測(cè)評(píng)工具
運(yùn)行和代碼管理
IL-機(jī)器語(yǔ)言 轉(zhuǎn)換器和優(yōu)化器
這些的含義是,在 .NET 世界里,不同的編程語(yǔ)言將在能力上比過(guò)去任何時(shí)候都更平等,雖然顯然不是所有語(yǔ)言都支持所有 CLR 服務(wù)。(北京北大青鳥(niǎo)校區(qū))
4、什么是映像?
所有的 .NET 編譯器都產(chǎn)生關(guān)于它們所產(chǎn)生的模塊中的類(lèi)型定義的特殊數(shù)據(jù)。這些特殊數(shù)據(jù)同模塊封裝在一起 (隨后模塊被封裝到元件中),可以通過(guò)稱(chēng)為映像 的機(jī)制來(lái)訪問(wèn)。System.Reflection 命名空間中包含向模塊或元件詢(xún)問(wèn)其類(lèi)型的類(lèi)。
使用映像來(lái)訪問(wèn) .NET 的特殊數(shù)據(jù)同使用 ITypeLib/ITypeInfo 來(lái)訪問(wèn) COM 中的類(lèi)型庫(kù)數(shù)據(jù)非常相似,而且使用的目的也很相似—例如確定數(shù)據(jù)類(lèi)型大小,以便在上下文、進(jìn)程、機(jī)器的邊界間調(diào)度它們。
北京北大青鳥(niǎo)校區(qū)老師介紹,映像還可以被用來(lái)動(dòng)態(tài)調(diào)用方法 (參見(jiàn) System.Type.InvokeMember),甚至在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建類(lèi)型 。(未完)