.NET架構

來源:互聯網
上載者:User

標籤:c   style   blog   a   http   ext   

        最近學習.NET理解起來比較費勁,視頻看得雲裡霧裡。不怕不知道,就怕不知道。通過查資料,搜集到一些有助於理解.NET架構的資料,在此和大家分享一下。先有個大致的瞭解,今後我們會慢慢領會。

       .NET架構(.NETFramework) 是由微軟開發,一個致力于敏捷軟體開發、快速應用開發、平台無關性和網路透明化的軟體開發平台。它是一個多語言群組件開發和執行環境,提供了一個跨語言的統一編程環境。.NET架構的目的是便於開發人員更容易地建立Web應用程式和Web服務,使得Internet上的各應用程式之間,可以使用Web服務進行溝通。從階層來看,.NET架構主要由兩部分組成:通用語言執行平台(CLR)和.NET架構類庫(BCL,中藍色部分).


一、CLR

       CLR是.NET架構的運行期間環境。CLR向與其相容的語言提供了一套泛型服務,如異常處理、安全性、調試等。

在程式的執行過程中,CLR控制碼與作業系統的互動,由CLR執行的代碼稱為可控代碼。相反,不是由CLR執行的代碼稱為不可控代碼。可控代碼通過向CLR提供中繼資料而與CLR“協作”。CLR向代碼提供服務,如垃圾收集和記憶體管理。與可控代碼不同,不可控代碼可以繞過.NET架構API函數,直接叫用作業系統的API函數。

       在編譯過程中,CLR把代碼轉換為MSIL(微軟中繼語言)。MSIL是一套獨立於CPU的指令。MSIL包括用於載人、儲存、初始化和調用方法的指令,還包括有關算術和邏輯操作以及異常處理的指令。編譯除MSIL之外的任何代碼時,中繼資料與被編譯代碼一起建立和儲存。中繼資料套件含有關代碼中成員、類型和引用的資訊。CLR使用中繼資料定位並載入類,建立機器碼,對代碼進行安全檢查,並執行代碼。這樣,編譯代碼後,已編譯檔案中便包含MSIL和中繼資料。包含MSIL和中繼資料的檔案稱為PE(可移植執行體)檔案。在程式執行前,CLR的JIT編譯器調用中繼資料,並將PE檔案中的MSIL轉換為機器碼。因為機器碼依賴於CPU,而MSIL不依賴CPU,所以CLR提供了不同的JIT編譯器,並且每個編譯器都在不同的體繫結構中使用。這意味著,根據用於編譯MSIL的JIT編譯器,同一MSIL可以在不同的體繫結構中被執行。

       在管理代碼期間,CLR也執行各種任務,如記憶體管理、代碼安全性檢查、線程、校正和編譯代碼。例如,應用程式運行期間,CLR分配記憶體,管理線程和進程,並實施安全性原則。

       CLR定義了通用類型庫(CTS),CTS是支援CLR的所有語言使用的標準類型庫。CTS列出了CLR支援的類型,有類、介面、數值類型和委託。因為資料類型在所有語言中會被同樣的處理,所以我們可以把變數從一種CLR相容的語言建立的類傳遞給另一個類,而不用理會定義變數時所使用的是哪種程式設計語言。

二、.NET架構類庫

       .NET架構類庫包括多個重用的、物件導向的、可擴充的類。它與CLR整合在一起,對於Visual Studio.NET中的所有程式設計語言都是通用的。

      .NET架構中的類按層次進行組織,system命名空間在層次的頂端,並包含所有其他類。主要有:轉換資料類型,處理參數,調用本地和遠程程式,管理應用程式環境。

三、.NET架構的基本特徵

       .NET架構具有跨語言使用的準系統,提供了一個整合的調試器,可以調試多種語言一塊編寫的程式。不僅可以在程式運行期間調試,還可以執行遠端偵錯。通過程式碼存取安全性和角色型安全性,.net架構為應用程式引入了新的安全機制。


       我們現在已經學了好幾種程式設計語言了,也能夠做出一個小系統來,這些只是淺層的東西。我們編寫的代碼到底是如何在系統中運轉的,這些深層的東西就需要今後的不懈努力了,書山有路,學海無涯。。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.