.NET框架體系結構


剛開始接觸.NET很疑惑,看完視頻也不是太懂,通過總結和反復,從概括和概念入手,慢慢變得清晰了。這篇博客主要是我對.NET基礎知識的了解,算作積累吧。

 

.NET框架體系結構

由四個主要部分組成

    公共語言運行時(CLR).NET框架應用程序的執行引擎..NET框架的關鍵作用在於,它提供了一個跨編程語言的統一編程環境,這也是它能獨樹一幟的根本原因。

          .NET框架為開發人員提供了一個統一、面向對象、層次化、可擴展的類庫集,即基底類別庫(BCL

    而ADO.NET是一個新的數據訪問框架,滿足了ADO無法滿足的三個重要需求:提供了斷開的數據訪問模型,這對Web環境至關重要;提供了與XML的緊密集成;還提供了與.NET框架的無縫集成.

    活動服務企頁面(ASP.NET)提供了一個統一的Web開發模型,其中包括為開發人員生成企業級Web應用程序所需的各種服務和全新控件.它是一個已編譯的、基於.NET環境的、可以用任何與.NET兼容語言創建的應用程序。

 

 

.NET程序的編譯與運行

 

    在編譯使用.NET框架創建的代碼時,不是立即創建成操作系統特定的本機代碼,而是把代碼編譯為微軟中間語言(MSIL)代碼。在執行應用程序時由JIT編譯器把MSIL編譯為專用於某種操作系統和目標機器結構的本機代碼,然后操作系統才能執行應用程序。 

程序集

    在編譯應用程序時,創建的MSIL代碼存儲在一個程序集中,程序集包括可執行的應用程序文件(.exe)和其他應用程序使用的庫(.dll),還包括元數據和可選資源。

托管代碼

    托管是什么意思,說白了就是讓CLR管理着應用程序,從源代碼到MSIL,再到本機代碼,再到程序執行,由.NET與操作系統進行交互。不在CLR控制之下運行的應用程序時非托管的。 

托管代碼最重要的一個功能是無用存儲單元收集(garbage collection),也稱垃圾回收,確保應用程序不再使用某些內存時,這些內存會被完全釋放。

   下面這張圖是.NET程序的編譯與運行時的情況:

 

 

 

 

 

.NET  VS J2EE

.NET框架與SUN公司的J2EE體系結構是當今企業應用的兩大體系結構,它們有很多相似之處,如下圖(左側為.NET框架,右側為J2EE):

 

 

 

 

    可以看出,對於.NET框架的每一部分,J2EE體系結構都有所體現,他們都是企業級開發平台,並且廣泛應用於Web開發領域。.NET框架和Java都使用了托管的運行時環境,都將源代碼轉換為一種中間語言,然后將其編譯為 本地的可執行代碼,兩種體系結構都提供了無用存儲的單元收集器、動態類加載和異常處理等。

 

下面是關於.NET的幾個小問題:

  1. .NET框架可以運行於哪些平台?

目前可以運行在windows95/98/MEwindowsNT4.0windows2000windowsXPwindows2003windowsvista、windows 7、windows 10上。

此外還有一個稱為.NET精簡框架的.NET框架版本,它運行在WindowsCE和其他嵌入式操作系統上。

  1. .NET框架支持哪些編程語言?

.NET框架與編程語言無關。事實上任何語言都可以支持.NET框架。目前可以用許多語言來創建.NET程序,包括:C++VB.netJScriptC#。以后也會有大量的第三方語言可以用來創建.NET框架應用程序,包括CobolEiffelPerlPythonSmalltalk等。

  1. .NET框架可以創建哪些類型的應用程序?

並不限制應用程序的類型,可以創建控制台應用程序、windows應用程序、Web應用程序、Web服務和其他各種類型的應用程序。

  1. .NET框架和COM+服務之間是什么關系?

.NET框架中,不僅可以完全訪問COM+服務,而且也更容易創建服務組件。.NET框架組件還可以利用COM+中所提供的服務,如事務、對象池、排列組件、事件等。

 

    那么“什么是.NET?”

    微軟董事長兼首席軟件設計師比爾蓋茨的回答:“.NET是指連接信息、人群、系統和設備的軟件。”

    微軟原總裁兼首席執行官鮑爾默說:“.NET代表了一個集合、一個環境、一個可以作為平台支持下一代Internet的可編程結構。”

 

現在再看這兩個解釋,確實是這么回事,好像沒有那么抽象了。。。

推薦:http://www.cnblogs.com/roucheng/p/3521864.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM