當前位置:編程學習大全網 - 編程語言 - C# 框架是什麽?MVC是什麽 ?工廠模式是什麽?設計模式是什麽?三層架構是什麽?天天聽別人說起就不知道。

C# 框架是什麽?MVC是什麽 ?工廠模式是什麽?設計模式是什麽?三層架構是什麽?天天聽別人說起就不知道。

.NET 框架是壹種新的計算平臺,它簡化了在高度分布式 Internet 環境中的應用程序開發。.NET 框架旨在實現下列目標:

提供壹個壹致的面向對象的編程環境,而無論對象代碼是在本地存儲和執行,還是在本地執行但在 Internet 上分布,或者是在遠程執行的。

提供壹個將軟件部署和版本控制沖突最小化的代碼執行環境。

提供壹個保證代碼(包括由未知的或不完全受信任的第三方創建的代碼)安全執行的代碼執行環境。

提供壹個可消除腳本環境或解釋環境的性能問題的代碼執行環境。

使開發人員的經驗在面對類型大不相同的應用程序(如基於 Windows 的應用程序和基於 Web 的應用程序)時保持壹致。

按照工業標準生成所有通訊,以確保基於 .NET 框架的代碼可與任何其他代碼集成。

.NET 框架具有兩個主要組件:公***語言運行庫和 .NET 框架類庫。公***語言運行庫是 .NET 框架的基礎。您可以將運行庫看作壹個在執行時管理代碼的代理,它提供核心服務(如內存管理、線程管理和遠程處理),而且還強制實施嚴格的類型安全以及可確保安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為托管代碼,而不以運行庫為目標的代碼稱為非托管代碼。.NET 框架的另壹個主要組件是類庫,它是壹個綜合性的面向對象的可重用類型集合,您可以使用它開發包含從傳統的命令行或圖形用戶界面 (GUI) 應用程序到基於 ASP.NET 所提供的最新創新的應用程序(如 Web 窗體和 XML Web services)在內的應用程序。

.NET 框架可由非托管組件承載,這些組件將公***語言運行庫加載到它們的進程中並啟動托管代碼的執行,從而創建壹個可以同時利用托管和非托管功能的軟件環境。.NET 框架不但提供若幹個運行庫宿主,而且還支持第三方運行庫宿主的開發。

例如,ASP.NET 承載運行庫以為托管代碼提供可伸縮的服務器端環境。ASP.NET 直接使用運行庫以啟用 Web 窗體應用程序和 XML Web services(本主題稍後將對這兩者進行討論)。

Internet Explorer 是承載運行庫(以 MIME 類型擴展的形式)的非托管應用程序的壹個示例。使用 Internet Explorer 承載運行庫使您能夠在 HTML 文檔中嵌入托管組件或 Windows 窗體控件。以這種方式承載運行庫使得托管移動代碼(類似於 Microsoft? ActiveX? 控件)成為可能,但是它具有只有托管代碼才能提供的重大改進(如不完全受信任的執行和安全的獨立文件存儲)。

下面的插圖顯示公***語言運行庫和類庫與應用程序之間以及與整個系統之間的關系。該插圖還顯示托管代碼如何在更大的結構內運行。

.NET 框架環境

下面的章節將更加詳細地描述 .NET 框架的主要組件和功能。

公***語言運行庫的功能

公***語言運行庫管理內存、線程執行、代碼執行、代碼安全驗證、編譯以及其他系統服務。這些功能是在公***語言運行庫上運行的托管代碼所固有的。

至於安全性,取決於包括托管組件的來源(如 Internet、企業網絡或本地計算機)在內的壹些因素,托管組件被賦予不同程度的信任。這意味著即使用在同壹活動應用程序中,托管組件既可能能夠執行文件訪問操作、註冊表訪問操作或其他須小心使用的功能,也可能不能夠執行這些功能。

運行庫強制實施代碼訪問安全。例如,用戶可以相信嵌入在 Web 頁中的可執行文件能夠在屏幕上播放動畫或唱歌,但不能訪問他們的個人數據、文件系統或網絡。這樣,運行庫的安全性功能就使通過 Internet 部署的合法軟件能夠具有特別豐富的功能。

運行庫還通過實現稱為通用類型系統 (CTS) 的嚴格的類型驗證和代碼驗證基礎結構來加強代碼可靠性。CTS 確保所有托管代碼都是可以自我描述的。各種 Microsoft 和第三方語言編譯器生成符合 CTS 的托管代碼。這意味著托管代碼可在嚴格實施類型保真和類型安全的同時使用其他托管類型和實例。

此外,運行庫的托管環境還消除了許多常見的軟件問題。例如,運行庫自動處理對象布局並管理對對象的引用,在不再使用它們時將它們釋放。這種自動內存管理解決了兩個最常見的應用程序錯誤:內存泄漏和無效內存引用。

運行庫還提高了開發人員的工作效率。例如,程序員可以用他們選擇的開發語言編寫應用程序,卻仍能充分利用其他開發人員用其他語言編寫的運行庫、類庫和組件。任何選擇以運行庫為目標的編譯器供應商都可以這樣做。以 .NET 框架為目標的語言編譯器使得用該語言編寫的現有代碼可以使用 .NET 框架的功能,這大大減輕了現有應用程序的遷移過程的工作負擔。

盡管運行庫是為未來的軟件設計的,但是它也支持現在和以前的軟件。托管和非托管代碼之間的互操作性使開發人員能夠繼續使用所需的 COM 組件和 DLL。

運行庫旨在增強性能。盡管公***語言運行庫提供許多標準運行庫服務,但是它從不解釋托管代碼。壹種稱為實時 (JIT) 編譯的功能使所有托管代碼能夠以它在其上執行的系統的本機語言運行。同時,內存管理器排除了出現零碎內存的可能性,並增大了內存引用區域以進壹步提高性能。

最後,運行庫可由高性能的服務器端應用程序(如 Microsoft? SQL Server? 和 Internet 信息服務 (IIS))承載。此基礎結構使您在享受支持運行庫宿主的行業最佳企業服務器的優越性能的同時,能夠使用托管代碼編寫業務邏輯。

.NET 框架類庫

.NET 框架類庫是壹個與公***語言運行庫緊密集成的可重用的類型集合。該類庫是面向對象的,並提供您自己的托管代碼可從中導出功能的類型。這不但使 .NET 框架類型易於使用,而且還減少了學習 .NET 框架的新功能所需要的時間。此外,第三方組件可與 .NET 框架中的類無縫集成。

例如,.NET 框架集合類實現壹組可用於開發您自己的集合類的接口。您的集合類將與 .NET 框架中的類無縫地混合。

正如您對面向對象的類庫所希望的那樣,.NET 框架類型使您能夠完成壹系列常見編程任務(包括諸如字符串管理、數據收集、數據庫連接以及文件訪問等任務)。除這些常見任務之外,類庫還包括支持多種專用開發方案的類型。例如,可使用 .NET 框架開發下列類型的應用程序和服務:

控制臺應用程序。

腳本應用程序或寄宿的應用程序。

Windows GUI 應用程序(Windows 窗體)。

ASP.NET 應用程序。

XML Web services。

Windows 服務。

例如,Windows 窗體類是壹組綜合性的可重用的類型,它們大大簡化了 Windows GUI 的開發。如果要編寫 ASP.NET Web 窗體應用程序,可使用 Web 窗體類。

客戶端應用程序開發

客戶端應用程序在基於 Windows 的編程中最接近於傳統風格的應用程序。這些是在桌面上顯示窗口或窗體從而使用戶能夠執行任務的應用程序類型。客戶端應用程序包括諸如字處理器和電子表格等應用程序以及自定義的業務應用程序(如數據輸入工具、報告工具等等)。客戶端應用程序通常使用窗口、菜單、按鈕和其他 GUI 元素,並且它們可能訪問本地資源(如文件系統)和外圍設備(如打印機)。

另壹種客戶端應用程序是作為 Web 頁通過 Internet 部署的傳統 ActiveX 控件(現在被托管 Windows 窗體控件所替代)。此應用程序非常類似於其他客戶端應用程序:它在本機執行,可以訪問本地資源,並包含圖形元素。

過去,開發人員將 C/C++ 與 Microsoft 基礎類 (MFC) 或應用程序快速開發 (RAD) 環境(如 Microsoft? Visual Basic?)壹起使用來創建這樣的應用程序。.NET 框架將這些現有產品的特點合並到了單個且壹致的開發環境中,該環境大大簡化了客戶端應用程序的開發。

包含在 .NET 框架中的Windows 窗體類旨在用於 GUI 開發。您可以輕松創建具有適應多變的商業需求所需的靈活性的命令窗口、按鈕、菜單、工具欄和其他屏幕元素。

例如,.NET 框架提供簡單的屬性以調整與窗體相關聯的可視屬性。某些情況下,基礎操作系統不支持直接更改這些屬性,而在這些情況下,.NET 框架將自動重新創建窗體。這是 .NET 框架集成開發人員接口從而使編碼更簡單更壹致的許多方法之壹。

和 ActiveX 控件不同,Windows 窗體控件具有對用戶計算機的不完全受信任的訪問權限。這意味著二進制代碼或在本機執行的代碼可訪問用戶系統上的某些資源(如 GUI 元素和受限制的文件訪問)而不能訪問或危害其他資源。由於具有代碼訪問安全性,許多曾經需要安裝在用戶系統上的應用程序現在可以通過 Web 安全地部署。您的應用程序可以在像 Web 頁那樣部署時實現本地應用程序的功能。

服務器應用程序開發

在托管領域中,服務器端應用程序是通過運行庫宿主實現的。非托管應用程序承載公***語言運行庫,後者使您的自定義托管代碼可以控制服務器的行為。此模型在獲得主服務器的性能和可伸縮性的同時提供給您公***語言運行庫和類庫的所有功能。

下面的插圖顯示在不同服務器環境中運行托管代碼的基本網絡架構。在應用程序邏輯通過托管代碼執行時,服務器(如 IIS 和 SQL Server)可執行標準操作。

服務器端托管代碼

ASP.NET 是使開發人員能夠使用 .NET 框架開發基於 Web 的應用程序的宿主環境。但是,ASP.NET 不止是壹個運行庫宿主;它是使用托管代碼開發 Web 站點和通過 Internet 分布的對象的完整結構。Web 窗體和 XML Web services 都將 IIS 和 ASP.NET 用作應用程序的發布機制,並且兩者在 .NET 框架中都具有支持類集合。

XML Web services 作為基於 Web 的技術的重要發展,是類似於常見 Web 站點的分布式服務器端應用程序組件。但是,與基於 Web 的應用程序不同,XML Web services 組件不具有 UI 並且不以瀏覽器(如 Internet Explorer 和 Netscape Navigator)為目標。相反,XML Web services 包含旨在供其他應用程序(如傳統的客戶端應用程序、基於 Web 的應用程序或者甚至是其他 XML Web services)使用的可重用的軟件組件。因此,XML Web services 技術正迅速地將應用程序開發和部署推向高度分布式 Internet 環境。

如果您使用過 ASP 技術的早期版本,您馬上就會註意到 ASP.NET 和 Web 窗體提供的改進。

MVC是三個單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)。 MVC模式的目的就是實現Web系統的職能分工。 Model層實現系統中的業務邏輯,通常可以用JavaBean或EJB來實現。 View層用於與用戶的交互,通常用JSP來實現。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請求並選擇恰當的視圖以用於顯示,同時它也可以解釋用戶的輸入並將它們映射為模型層可執行的操作

剩下的都是設計模式,三層架構包含數據訪問層、業務邏輯層、頁面訪問層。

要學習的話,可以先學習C#,做項目可以參考petshop,mvc項目可以參考oxite。

  • 上一篇:未來初中生的寶馬學習什麽技能
  • 下一篇:直流伺服電機與交流伺服電機拆裝有哪些註意事項?
  • copyright 2024編程學習大全網