第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

C# 框架是什么?MVC是什么 ?工廠模式是什么?設(shè)計(jì)模式是什么?三層架構(gòu)是什么?

C# 框架是什么?MVC是什么 ?工廠模式是什么?設(shè)計(jì)模式是什么?三層架構(gòu)是什么?

慕斯709654 2019-02-06 11:07:06
C# 框架是什么?MVC是什么 ?工廠模式是什么?設(shè)計(jì)模式是什么?三層架構(gòu)是什么?
查看完整描述

2 回答

?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

.NET 框架是一種新的計(jì)算平臺(tái),它簡(jiǎn)化了在高度分布式 Internet 環(huán)境中的應(yīng)用程序開發(fā)。.NET 框架旨在實(shí)現(xiàn)下列目標(biāo):

提供一個(gè)一致的面向?qū)ο?/a>的編程環(huán)境,而無(wú)論對(duì)象代碼是在本地存儲(chǔ)和執(zhí)行,還是在本地執(zhí)行但在 Internet 上分布,或者是在遠(yuǎn)程執(zhí)行的。
提供一個(gè)將軟件部署和版本控制沖突最小化的代碼執(zhí)行環(huán)境。
提供一個(gè)保證代碼(包括由未知的或不完全受信任的第三方創(chuàng)建的代碼)安全執(zhí)行的代碼執(zhí)行環(huán)境。
提供一個(gè)可消除腳本環(huán)境或解釋環(huán)境的性能問(wèn)題的代碼執(zhí)行環(huán)境。
使開發(fā)人員的經(jīng)驗(yàn)在面對(duì)類型大不相同的應(yīng)用程序(如基于 Windows 的應(yīng)用程序和基于 Web 的應(yīng)用程序)時(shí)保持一致。
按照工業(yè)標(biāo)準(zhǔn)生成所有通訊,以確?;?.NET 框架的代碼可與任何其他代碼集成。
.NET 框架具有兩個(gè)主要組件:
公共語(yǔ)言運(yùn)行庫(kù)和 .NET 框架類庫(kù)。公共語(yǔ)言運(yùn)行庫(kù)是 .NET 框架的基礎(chǔ)。您可以將運(yùn)行庫(kù)看作一個(gè)在執(zhí)行時(shí)管理代碼的代理,它提供核心服務(wù)(如內(nèi)存管理、線程管理和遠(yuǎn)程處理),而且還強(qiáng)制實(shí)施嚴(yán)格的類型安全以及可確保安全性和可靠性的其他形式的代碼準(zhǔn)確性。事實(shí)上,代碼管理的概念是運(yùn)行庫(kù)的基本原則。以運(yùn)行庫(kù)為目標(biāo)的代碼稱為托管代碼,而不以運(yùn)行庫(kù)為目標(biāo)的代碼稱為非托管代碼。.NET 框架的另一個(gè)主要組件是類庫(kù),它是一個(gè)綜合性的面向?qū)ο?/a>的可重用類型集合,您可以使用它開發(fā)包含從傳統(tǒng)的命令行或圖形用戶界面 (GUI) 應(yīng)用程序到基于 ASP.NET 所提供的最新創(chuàng)新的應(yīng)用程序(如 Web 窗體和 XML Web services)在內(nèi)的應(yīng)用程序。

.NET 框架可由非托管組件承載,這些組件將
公共語(yǔ)言運(yùn)行庫(kù)加載到它們的進(jìn)程中并啟動(dòng)托管代碼的執(zhí)行,從而創(chuàng)建一個(gè)可以同時(shí)利用托管和非托管功能的軟件環(huán)境。.NET 框架不但提供若干個(gè)運(yùn)行庫(kù)宿主,而且還支持第三方運(yùn)行庫(kù)宿主的開發(fā)。

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

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

下面的插圖顯示公共語(yǔ)言運(yùn)行庫(kù)和類庫(kù)與應(yīng)用程序之間以及與整個(gè)系統(tǒng)之間的關(guān)系。該插圖還顯示托管代碼如何在更大的結(jié)構(gòu)內(nèi)運(yùn)行。

.NET 框架環(huán)境

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

公共語(yǔ)言運(yùn)行庫(kù)的功能
公共語(yǔ)言運(yùn)行庫(kù)管理內(nèi)存、線程執(zhí)行、代碼執(zhí)行、代碼安全驗(yàn)證、編譯以及其他系統(tǒng)服務(wù)。這些功能是在公共語(yǔ)言運(yùn)行庫(kù)上運(yùn)行的托管代碼所固有的。

至于安全性,取決于包括托管組件的來(lái)源(如 Internet、企業(yè)網(wǎng)絡(luò)或本地計(jì)算機(jī))在內(nèi)的一些因素,托管組件被賦予不同程度的信任。這意味著即使用在同一活動(dòng)應(yīng)用程序中,托管組件既可能能夠執(zhí)行文件訪問(wèn)操作、注冊(cè)表訪問(wèn)操作或其他須小心使用的功能,也可能不能夠執(zhí)行這些功能。

運(yùn)行庫(kù)強(qiáng)制實(shí)施代碼訪問(wèn)安全。例如,用戶可以相信嵌入在 Web 頁(yè)中的可執(zhí)行文件能夠在屏幕上播放動(dòng)畫或唱歌,但不能訪問(wèn)他們的個(gè)人數(shù)據(jù)、文件系統(tǒng)或網(wǎng)絡(luò)。這樣,運(yùn)行庫(kù)的安全性功能就使通過(guò) Internet 部署的合法軟件能夠具有特別豐富的功能。

運(yùn)行庫(kù)還通過(guò)實(shí)現(xiàn)稱為通用類型系統(tǒng) (CTS) 的嚴(yán)格的類型驗(yàn)證和代碼驗(yàn)證基礎(chǔ)結(jié)構(gòu)來(lái)加強(qiáng)代碼可靠性。CTS 確保所有托管代碼都是可以自我描述的。各種 Microsoft 和第三方語(yǔ)言編譯器生成符合 CTS 的托管代碼。這意味著托管代碼可在嚴(yán)格實(shí)施類型保真和類型安全的同時(shí)使用其他托管類型和實(shí)例。

此外,運(yùn)行庫(kù)的托管環(huán)境還消除了許多常見的軟件問(wèn)題。例如,運(yùn)行庫(kù)自動(dòng)處理對(duì)象布局并管理對(duì)對(duì)象的引用,在不再使用它們時(shí)將它們釋放。這種自動(dòng)內(nèi)存管理解決了兩個(gè)最常見的應(yīng)用程序錯(cuò)誤:內(nèi)存泄漏和無(wú)效內(nèi)存引用。

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

盡管運(yùn)行庫(kù)是為未來(lái)的軟件設(shè)計(jì)的,但是它也支持現(xiàn)在和以前的軟件。托管和非托管代碼之間的互操作性使開發(fā)人員能夠繼續(xù)使用所需的 COM 組件和 DLL。

運(yùn)行庫(kù)旨在增強(qiáng)性能。盡管公共語(yǔ)言運(yùn)行庫(kù)提供許多標(biāo)準(zhǔn)運(yùn)行庫(kù)服務(wù),但是它從不解釋托管代碼。一種稱為實(shí)時(shí) (JIT) 編譯的功能使所有托管代碼能夠以它在其上執(zhí)行的系統(tǒng)的本機(jī)語(yǔ)言運(yùn)行。同時(shí),內(nèi)存管理器排除了出現(xiàn)零碎內(nèi)存的可能性,并增大了內(nèi)存引用區(qū)域以進(jìn)一步提高性能。

最后,運(yùn)行庫(kù)可由高性能的服務(wù)器端應(yīng)用程序(如 Microsoft? SQL Server? 和 Internet 信息服務(wù) (IIS))承載。此基礎(chǔ)結(jié)構(gòu)使您在享受支持運(yùn)行庫(kù)宿主的行業(yè)最佳企業(yè)服務(wù)器的優(yōu)越性能的同時(shí),能夠使用托管代碼編寫業(yè)務(wù)邏輯。

.NET 框架類庫(kù)
.NET 框架類庫(kù)是一個(gè)與公共語(yǔ)言運(yùn)行庫(kù)緊密集成的可重用的類型集合。該類庫(kù)是面向?qū)ο?/a>的,并提供您自己的托管代碼可從中導(dǎo)出功能的類型。這不但使 .NET 框架類型易于使用,而且還減少了學(xué)習(xí) .NET 框架的新功能所需要的時(shí)間。此外,第三方組件可與 .NET 框架中的類無(wú)縫集成。

例如,.NET 框架集合類實(shí)現(xiàn)一組可用于開發(fā)您自己的集合類的接口。您的集合類將與 .NET 框架中的類無(wú)縫地混合。

正如您對(duì)面向?qū)ο蟮念悗?kù)所希望的那樣,.NET 框架類型使您能夠完成一系列常見編程任務(wù)(包括諸如字符串管理、數(shù)據(jù)收集、數(shù)據(jù)庫(kù)連接以及文件訪問(wèn)等任務(wù))。除這些常見任務(wù)之外,類庫(kù)還包括支持多種專用開發(fā)方案的類型。例如,可使用 .NET 框架開發(fā)下列類型的應(yīng)用程序和服務(wù):

控制臺(tái)應(yīng)用程序。
腳本應(yīng)用程序或寄宿的應(yīng)用程序。
Windows GUI 應(yīng)用程序(Windows 窗體)。
ASP.NET 應(yīng)用程序。
XML Web services。
Windows 服務(wù)。
例如,Windows 窗體類是一組綜合性的可重用的類型,它們大大簡(jiǎn)化了 Windows GUI 的開發(fā)。如果要編寫 ASP.NET Web 窗體應(yīng)用程序,可使用 Web 窗體類。

客戶端應(yīng)用程序開發(fā)
客戶端應(yīng)用程序在基于 Windows 的編程中最接近于傳統(tǒng)風(fēng)格的應(yīng)用程序。這些是在桌面上顯示窗口或窗體從而使用戶能夠執(zhí)行任務(wù)的應(yīng)用程序類型。客戶端應(yīng)用程序包括諸如字處理器和
電子表格等應(yīng)用程序以及自定義的業(yè)務(wù)應(yīng)用程序(如數(shù)據(jù)輸入工具、報(bào)告工具等等)??蛻舳藨?yīng)用程序通常使用窗口、菜單、按鈕和其他 GUI 元素,并且它們可能訪問(wèn)本地資源(如文件系統(tǒng))和外圍設(shè)備(如打印機(jī))。

另一種客戶端應(yīng)用程序是作為 Web 頁(yè)通過(guò) Internet 部署的傳統(tǒng) ActiveX 控件(現(xiàn)在被托管 Windows 窗體控件所替代)。此應(yīng)用程序非常類似于其他客戶端應(yīng)用程序:它在本機(jī)執(zhí)行,可以訪問(wèn)本地資源,并包含圖形元素。

過(guò)去,開發(fā)人員將 C/C++ 與 Microsoft 基礎(chǔ)類 (MFC) 或應(yīng)用程序快速開發(fā) (RAD) 環(huán)境(如 Microsoft? Visual Basic?)一起使用來(lái)創(chuàng)建這樣的應(yīng)用程序。.NET 框架將這些現(xiàn)有產(chǎn)品的特點(diǎn)合并到了單個(gè)且一致的開發(fā)環(huán)境中,該環(huán)境大大簡(jiǎn)化了客戶端應(yīng)用程序的開發(fā)。

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

例如,.NET 框架提供簡(jiǎn)單的屬性以調(diào)整與窗體相關(guān)聯(lián)的可視屬性。某些情況下,基礎(chǔ)操作系統(tǒng)不支持直接更改這些屬性,而在這些情況下,.NET 框架將自動(dòng)重新創(chuàng)建窗體。這是 .NET 框架集成開發(fā)人員接口從而使編碼更簡(jiǎn)單更一致的許多方法之一。

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

服務(wù)器應(yīng)用程序開發(fā)
在托管領(lǐng)域中,服務(wù)器端應(yīng)用程序是通過(guò)運(yùn)行庫(kù)宿主實(shí)現(xiàn)的。非托管應(yīng)用程序承載公共語(yǔ)言運(yùn)行庫(kù),后者使您的自定義托管代碼可以控制服務(wù)器的行為。此模型在獲得主服務(wù)器的性能和可伸縮性的同時(shí)提供給您公共語(yǔ)言運(yùn)行庫(kù)和類庫(kù)的所有功能。

下面的插圖顯示在不同服務(wù)器環(huán)境中運(yùn)行托管代碼的基本網(wǎng)絡(luò)架構(gòu)。在應(yīng)用程序邏輯通過(guò)托管代碼執(zhí)行時(shí),服務(wù)器(如 IIS 和 SQL Server)可執(zhí)行標(biāo)準(zhǔn)操作。

服務(wù)器端托管代碼

ASP.NET 是使開發(fā)人員能夠使用 .NET 框架開發(fā)基于 Web 的應(yīng)用程序的宿主環(huán)境。但是,ASP.NET 不止是一個(gè)運(yùn)行庫(kù)宿主;它是使用托管代碼開發(fā) Web 站點(diǎn)和通過(guò) Internet 分布的對(duì)象的完整結(jié)構(gòu)。Web 窗體和 XML Web services 都將 IIS 和 ASP.NET 用作應(yīng)用程序的發(fā)布機(jī)制,并且兩者在 .NET 框架中都具有支持類集合。

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

如果您使用過(guò) ASP 技術(shù)的早期版本,您馬上就會(huì)注意到 ASP.NET 和 Web 窗體提供的改進(jìn)。

MVC是三個(gè)單詞的縮寫,分別為: 模型(Model),視圖(View)和控制Controller)。 MVC模式的目的就是實(shí)現(xiàn)Web系統(tǒng)的職能分工。 Model層實(shí)現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來(lái)實(shí)現(xiàn)。 View層用于與用戶的交互,通常用JSP來(lái)實(shí)現(xiàn)。 Controller層是Model與View之間溝通的橋梁,它可以分派用戶的請(qǐng)求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時(shí)它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作

剩下的都是設(shè)計(jì)模式,三層架構(gòu)包含數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層、頁(yè)面訪問(wèn)層。
要學(xué)習(xí)的話,可以先學(xué)習(xí)C#,做項(xiàng)目可以參考petshop,mvc項(xiàng)目可以參考o(jì)xite。



查看完整回答
反對(duì) 回復(fù) 2019-03-10
  • 2 回答
  • 0 關(guān)注
  • 1003 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)