“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)
既然要學.NET,就要先認識認識她,我不喜歡大段大段文字的東西,自己通過理解,畫個圖,來看看.NET的沉魚落雁,閉月羞花之容。
?
最下層藍色部分是.NET Framework的基礎,也是所有應用軟件的基礎。.NET Framework不是憑空出來的,實際上API,COM+,和一些相關驅動依然是它的基石。.NET Framework只不過是對這些前輩們進行了系統(tǒng)的封裝和擴充,在這個過程中,吸取了Java框架的很多經(jīng)驗。關于Win32 API與.NET Framework API的對應關系,可以參考Microsoft Win32 to Microsoft .NET Framework API Map
菜譜:除了藍色部分以外,其他均為.NET Framework的主體。它是基于通用語言基礎架構(Common Language Infrastructure,CLI)。它就像一本江湖上失傳已久的菜譜。
廚師:通用語言運行平臺(Common Language Runtime,CLR),是對CLI這個架構在Windows平臺的實現(xiàn)。簡單地理解就是CLR這個廚師,讓CLI這本菜譜發(fā)揮了其真正的作用。
下面我們來嘗嘗這些佳肴:
食物:類庫(Framework Class Library,FCL),所有在.NET能夠使用的類庫。分為兩部分,一部分為原料,另一部分為成品菜。
- 原料:基類庫Base Class Library(BCL)?,顧名思義,其中包含一些基礎的類,如:IO,String,Net等等。它們是做菜所必需的原料,當然也可以直接吃。
- 成品菜:FCL中的其他類。這些類庫基本上都是引用BCL,在這些類庫的基礎上做的擴充。如:ADO.NET,ASP.NET,Windows.Forms等等,它們是我們編寫程序更加方便,專一。
餐具:公共語言規(guī)范Common Language Specification (CLS)?和公共類型系統(tǒng)Common Type System (CTS)?,是CLI的一部分內容,它們的目的是保證各種語言與.NET Framework的兼容性的。就好像有的食客習慣用筷子,有的則喜歡用叉子,像八戒就用九齒釘耙。有了CLS和CTS,各路食客就能使用自己喜歡用的餐具吃上可口的食物了。例如:把C#中的int和VB中的Integer統(tǒng)一映射到System.Int32。
食客:各種語言,C#,VB,等等。
至于食客們是怎么吃這些東西的,可以參考深入探索.NET框架內部了解CLR如何創(chuàng)建運行時對象,這篇文章詳細的解釋了,.NET是如何運行的,涉及一些底層的東西,大家了解就行,不必深究。
好了,這是我自己對.NET Framework的一點理解,可能比喻有不恰當?shù)牡胤?#xff0c;甚至有概念性的錯誤,希望大家指出來。我畢竟是初學者,大家的批評會幫助我成長。謝謝!
總結
以上是生活随笔為你收集整理的“菜”鸟理解.NET Framework(CLI,CLS,CTS,CLR,FCL,BCL)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最近银行理财出现不少亏损的产品,是怎么回
- 下一篇: 百度钱包信用卡还款多久到账