1. 程式人生 > >.NET框架體系結構

.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的可程式設計結構。”

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

相關推薦

.NET框架體系結構

剛開始接觸.NET很疑惑,看完視訊也不是太懂,通過總結和反覆,從概括和概念入手,慢慢變得清晰了。這篇部落格主要是我對.NET基礎知識的瞭解,算作積累吧。 .NET框架體系結構 由四個主要部分組成     公共語言執行時(CLR)是.NET框架應用程式的執行引擎..NET框架的關鍵作用在於,它提供

spring框架體系結構介紹

簡潔 之間 sta art 更多 multi 引入 nfa cti Spring框架學習(本人整理,非原創) 一、spring簡介 Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson創建。簡單來說,Spri

一:.NET體系結構

C#和.NET關係 C#語言不能孤立使用,必須和.NET Framework一起。C#編譯器基於.NE。也就是說C#所有程式碼總是使用.NET Framework執行 C#是一門專門為.NET Framework使用而設計的。 C#是一種基於現代面向物件設計的語言。 公共語言執行庫 .NET的核心是

spring框架(一)——Spring核心框架體系結構(jar包引用分析)

很多人都在用spring開發java專案,普通新增lib目錄拷貝jar包,或者建立maven專案時,配置maven依賴的時候並不能明確要配置哪些spring的jar,經常是胡亂新增一堆,編譯或執行報錯就繼續配置jar依賴,導致spring依賴混亂,甚至下一次建立相同型別的工程時也不知道要配置哪些sp

Android 工具之系統五層框架體系結構詳解

從下圖中可以很清楚得看出,整個架構可以分為五大層次: System Apps:即系統應用層,這一層中都是我們使用手機時都會直接接觸到的各種應用。 Java API Framework:即 Java 介面框架層,這一層是為了上層應用提供各種介面。 Native C/C

C#/Net 特點 體系結構

C#特點 1.生成中間程式碼(使用C#開發的應用程式,在編譯成機器碼時,都是生成中間彙編形式的語言。只有當執行時,才會被編譯成本地計算機可執行程式碼) 2.在名稱空間中宣告 3.資料型別豐富 4.有兩個基類(Object和String) 5.方法可當引數傳遞(值傳遞,引用傳

Spring核心框架體系結構

spring的jar包只有20個左右,每個都有相應的功能,一個jar還可能依賴了若干其他jar,所以,搞清楚它們之間的關係,配置maven依賴就可以簡潔明瞭,下面舉個例子,要在普通java工程使用spring框架,需要哪些jar呢?只要一個 <dependency>     <group

Spring 核心框架體系結構

很多人都在用spring開發java專案,但是配置maven依賴的時候並不能明確要配置哪些spring的jar,經常是胡亂新增一堆,編譯或執行報錯就繼續配置jar依賴,導致spring依賴混亂,甚至下一次建立相同型別的工程時也不知道要配置哪些spring的依賴,只有拷貝,

.NET框架程式設計——體系結構

談到.NET,相信對於大多數初學者而言,都會感覺比較亂、比較迷茫,什麼是ASP.NET、ADO.NET、VB.NET、VC.NET和.NET Framework等等概念,搞的我們暈頭轉向的,他們之間到底是什麼關係呢,為何如此相似呢?我們腦子裡出現了一堆一堆的問號。下面

java框架學習之路——Spring的體系結構

Java spring 分類:java框架學習Spring的體系結構Spring是一個開源的輕量級框架Spring項目開發流程:創建項目——>添加必須的類庫jar包——>創建源文件編程調用庫——>創建bean的配置文件——>運行調試核心特征:1、AOP:面向切面編程2、IOC:

USB裝置模擬框架設計指南——2.DSF體系結構

DSF程式設計環境由實現USB裝置模擬器的各種元件的一組COM物件、一組執行時服務和USB 2.0EHCI控制器模擬器組成。 EHCI控制器模擬器被實現為EHCI迷你埠(Usbehci_dsf.sys)的DSF特定版本上的較低裝置過濾器。EHCI小埠的DSF版本與控制器模擬

【使用SSM框架開發企業級應用】Spring MVC體系結構和處理請求控制器

Spring MVC體系結構和處理請求控制器 MVC設計模式 檢視(View)-對應元件:JSP或者HTML檔案 控制器(Controller)-對應元件:Servlet 模型(Model) -對應元件:JavaBean JSP Model1 JSP Mo

解讀經典-《C#高階程式設計》第七版-Chapter1-.Net體系結構-Page6-13

01 中間語言(IL) .Net中間語言(IL)的特性,很大程度上來自於要支援多語言互操作性。要支援多語言互操作性,是因為微軟想搞一個大事情,將它的老產品線VB和VC++,VJ++都裝入.Net架構中。要支援多語言互操作,就需要實現這些基本功能: 1) 繼承:一種語言的類能繼承另一種語言編寫的類。 2

解讀經典-《C#高階程式設計》第七版-Chapter1-.Net體系結構-Page13-20

01 程式集   程式集是包含編譯好的、基於.Net Framework的程式碼邏輯單元。一般來說,在Visual Studio中的一個專案即一個程式集,而一個專案中包含多種不同的程式碼檔案。程式集分為可執行程式集和庫程式集,比如一個Winform專案就編譯為可執行程式集,而W

解讀經典-《C#高階程式設計》第七版-Chapter1-.Net體系結構-Page1-6

前言 大家好。本號今天重啟。 看上一篇文章,已經是06年的事情了,從07年之後,我轉做產品經理,機緣巧合,在2012年之後,又接觸到.Net程式設計,在2016年正式迴歸到開發的行列,整整10年。最近幾年,在技術上要補以前落下的課,所以變化很快,進步也很快,16年基於DevExpress做W

.Net體系結構

C#與.Net的關係 C#就其本身而言只是一種語言,它是用於生成面向.Net環境的程式碼,但它本身不是.Net 的一部分。 公共語言執行庫CLR .Net Framwork的核心是其執行庫執行環境,稱為公共語言執行庫(CLR)或.Net執行庫。通常將在CLR控制下執行的程式

.NET微服務體系結構中為什麼使用Ocelot實現API閘道器

為什麼要使用API閘道器而不是直接通訊?在微服務架構中,客戶端應用程式通常需要使用

從底層瞭解ASP.NET體系結構

導讀:   前言   關於ASP.NET的底層的工作機制,最近園子裡討論的甚是火熱。相信很多人都看過Rick Strahl先生的一篇經典之作:A low-level Look at the ASP.NET Architecture,經Rick Strahl先生同意,我把他的這

系統體系結構-概念和框架

1系統體系結構的概念 任何複雜的系統都需要一個體繫結構來提供其演化的一個戰略性環境描述。體系結構提供了對組成系統的元件或構造塊的描述以及這些元件間複雜的內部關係。 雖然體系結構對系統設計至關重要,但過去人們對於體系結構的理解和使用卻是非常不規範的,往往是隱含的、粗糙的、

.net基礎知識--框架體系

    剛開始接觸.NET很疑惑,看完視訊也不是太懂,通過總結和反覆,從概括和概念入手,慢慢變得清晰了。這篇部落格主要是我對.NET基礎知識的瞭解,算作積累吧。 .NET框架體系結構 由四個主要部分組成     公共語言執行時(CLR)是.NET框架應用程式的執行引擎..NET框架的關鍵作用在於,它提