基于NET環(huán)境的三層構(gòu)架開發(fā)技術(shù)_第1頁(yè)
基于NET環(huán)境的三層構(gòu)架開發(fā)技術(shù)_第2頁(yè)
基于NET環(huán)境的三層構(gòu)架開發(fā)技術(shù)_第3頁(yè)
基于NET環(huán)境的三層構(gòu)架開發(fā)技術(shù)_第4頁(yè)
基于NET環(huán)境的三層構(gòu)架開發(fā)技術(shù)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于 .NET 環(huán)境的三層構(gòu)架開發(fā)技術(shù)摘要:為了建立能在公共信息傳送平臺(tái)上使用的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng),本文研究了 .NET 環(huán)境下的分布式應(yīng)用程序技 術(shù)。何謂“分布式應(yīng)用程序”?它可以是一個(gè)“在邏輯上分 布”的應(yīng)用程序,由幾個(gè)組件和程序組成,宿主在同一臺(tái)計(jì) 算機(jī)上,并通過(guò)交換信息來(lái)協(xié)同工作。本文闡述了三層分布 式的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的構(gòu)架,充分地分析了應(yīng)用程序的各層 功能,并概覽了 .Net 內(nèi)部可用的新數(shù)據(jù)訪問(wèn)技術(shù)的能力。關(guān)鍵詞: ASP.NET ;分布式應(yīng)用程序;三層構(gòu)架、 ASP.NET 提供的分布式應(yīng)用程序的基本原理1. 分布式應(yīng)用程序結(jié)構(gòu)。分布式應(yīng)用程序的主要原則是將應(yīng)用程序邏輯地分為個(gè)基本層

2、:1)表示層( UI );2)業(yè)務(wù)邏輯層( BLL );3)數(shù)據(jù)訪問(wèn)層( DAL )。按照這些原則對(duì)應(yīng)用程序進(jìn)行分層,不但方便開發(fā)人員生成具有高度伸縮和靈活的應(yīng)用程序,而且易于整個(gè)項(xiàng)目的 擴(kuò)展、重用和分工協(xié)作。2. 表示層( UI )。為用戶提供交互操作界面, 這一點(diǎn)不論是對(duì)于 Web 還是WinForm 都是如此, 就是用戶界面操作。 利用 ASP.NET Web應(yīng)用程序和 XMLWeb services ,Web 客戶端能夠以可視形式 為應(yīng)用程序提供豐富、靈活和交互的用戶界面。3. 業(yè)務(wù)邏輯層( BLL )。負(fù)責(zé)關(guān)鍵業(yè)務(wù)的處理和數(shù)據(jù)的傳遞。復(fù)雜的邏輯判斷和涉及數(shù)據(jù)庫(kù)的數(shù)據(jù)驗(yàn)證都需要在此做出

3、處理。根據(jù)傳入的值 返回用戶想得到的值,或者處理相關(guān)的邏輯。4. 數(shù)據(jù)訪問(wèn)層( DAL )。負(fù)責(zé)數(shù)據(jù)庫(kù)數(shù)據(jù)的訪問(wèn)。主要為業(yè)務(wù)邏輯層提供數(shù)據(jù),根據(jù)傳入的值操作數(shù)據(jù)庫(kù),增、刪、改或者其他。在分布式應(yīng)用程序結(jié)構(gòu)中,相應(yīng)功能使用ADO.NET 數(shù)據(jù)適配器和SQL 服務(wù)器存儲(chǔ)過(guò)程完成。、 ASP.NET 的三層構(gòu)架技術(shù)分析1. 三層結(jié)構(gòu)解釋。所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫(kù)之間加入了個(gè)中間層,也叫組件層。這里所說(shuō)的三層體系,不是指物理的三層,不是簡(jiǎn)單地放置三臺(tái)機(jī)器就是三層體系結(jié)構(gòu),也 不僅僅有 B/S 應(yīng)用才是三層體系結(jié)構(gòu),三層是指邏輯上的三 層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。三層體系的應(yīng)用程序 將

4、業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)、合法性校驗(yàn)等工作放到了中間層進(jìn) 行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫(kù)進(jìn)行交互,而是通過(guò) COM/DCOM 通訊與中間層建立連接,再經(jīng)由中間層 與數(shù)據(jù)庫(kù)進(jìn)行交換。開發(fā)人員可以將應(yīng)用的商業(yè)邏輯放在中間層應(yīng)用服務(wù)器上,把應(yīng)用的業(yè)務(wù)邏輯與用戶界面分開。在保證客戶端功 能的前提下,為用戶提供一個(gè)簡(jiǎn)潔的界面。這意味著如果需 要修改應(yīng)用程序代碼,就只需要對(duì)中間層應(yīng)用服務(wù)器進(jìn)行修 改,而不用修改成千上萬(wàn)的客戶端應(yīng)用程序,從而使開發(fā)人 員專注于應(yīng)用系統(tǒng)核心業(yè)務(wù)邏輯的分析、設(shè)計(jì)和開發(fā),簡(jiǎn)化 了應(yīng)用系統(tǒng)的開發(fā)、更新和升級(jí)工作。2. ASP.NET 中的三層結(jié)構(gòu)說(shuō)明。完善的三層結(jié)構(gòu)的要求是:修

5、改表現(xiàn)層而不用修改邏輯層,修改邏輯層而不用修改數(shù)據(jù)層。否則你的應(yīng)用是不是多 層結(jié)構(gòu),或者說(shuō)是層結(jié)構(gòu)的劃分和組織上是不是有問(wèn)題就很 難說(shuō)。不同的應(yīng)用有不同的理解,這只是一個(gè)概念的問(wèn)題。3. 理解 ASP.NET 中的三層結(jié)構(gòu)為什么要分三層?。我們用三層結(jié)構(gòu)主要是使項(xiàng)目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護(hù)和升級(jí)。它未必會(huì)提升性能,因?yàn)楫?dāng) 子程序模塊未執(zhí)行結(jié)束時(shí),主程序模塊只能處于等待狀態(tài)。這說(shuō)明將應(yīng)用程序劃分層次,會(huì)帶來(lái)其執(zhí)行速度上的一些損 失。但從團(tuán)隊(duì)開發(fā)效率角度上來(lái)講卻可以感受到大不相同的 效果。需要說(shuō)明的是, 三層結(jié)構(gòu)不是 .NET 的專利, 也不是專門用在數(shù)據(jù)庫(kù)上的技術(shù)。它是一種更加普

6、適的架構(gòu)設(shè)計(jì)理念。、建立 ASP.NET 項(xiàng)目的三層構(gòu)架1.建立類庫(kù)。為了整個(gè)項(xiàng)目開發(fā)方便,我們?cè)陧?xiàng)目中建幾個(gè)類庫(kù):SQLHelper , BLL ,DAL ,Model 和一個(gè) Web 網(wǎng)站。業(yè)務(wù)邏輯層(BusinessLogicLayer ): BLL ,命名空間默 認(rèn)設(shè)置為 BLL 。數(shù)據(jù)訪問(wèn)層(DataAccessLayer ): DAL ,命名空間默認(rèn)設(shè)置為 DAL 。SQL 幫助類:SQLHelper ,命名空間默認(rèn)設(shè)置為SQLHelper 。2. 建立實(shí)體類庫(kù)。為了數(shù)據(jù)傳遞的方便,通常再添加一個(gè)類庫(kù),這個(gè)類庫(kù)是貫穿于整個(gè)三層架構(gòu)中的, 即實(shí)體類。 通常命名為 Model,命名空間

7、默認(rèn)值設(shè)置為:Models。其中封裝的每個(gè)類都對(duì)應(yīng)個(gè)實(shí)體,通常就是數(shù)據(jù)庫(kù)中的一個(gè)表。如數(shù)據(jù)庫(kù)中的用戶 表(custom)封裝為(custom),將表中的每個(gè)字段都封裝成 共有的屬性。這樣三層架構(gòu)的搭建就基本完成了。這三層有著非常強(qiáng)的依賴關(guān)系:表示層 ?葑業(yè)務(wù)邏輯層 ?葑數(shù)據(jù)訪問(wèn)層它們之間的數(shù)據(jù)傳遞是雙向的,并且通常借助實(shí)體類傳遞數(shù)據(jù)。四、三層構(gòu)架的優(yōu)點(diǎn)1.易于項(xiàng)目的修改和維護(hù)。在項(xiàng)目的開發(fā)過(guò)程中或者開發(fā)后的升級(jí)過(guò)程中,甚至在項(xiàng)目的移植過(guò)程中。這種三層架構(gòu)是非常方便的。比如項(xiàng)目 從 Web 移植到 Form ,我們只需要將表示層重新做一遍就可 以了,其余兩層不用改動(dòng),只需添加到現(xiàn)有項(xiàng)目就可以了。

8、如果不采用這種架構(gòu),只是將代碼寫到表示層,那么所有的 編碼幾乎都要重新來(lái)。2.易于擴(kuò)展。在功能的擴(kuò)展上同樣如此,如有功能的添加只需把原有的類庫(kù)添加方法就可以了。3. 易于代碼的重用。4. 易于分工協(xié)作。五、結(jié)語(yǔ) 設(shè)計(jì)模式中的分層構(gòu)架實(shí)現(xiàn)了各司其職,互不干涉,因此哪一層的需求發(fā)生了變化,就只需要更改相應(yīng)地層中的代 碼而不會(huì)影響到其他層中的代碼。這樣就能更好地實(shí)現(xiàn)開發(fā) 中的分工,有利于組件的重用,所以一個(gè)好的模式在程序開 發(fā)和后期維護(hù)中作用非常大。參考文獻(xiàn):1 Professional ASP.NET Design Patterns ASP.Net 設(shè)計(jì)模式 . 清華大學(xué)出版社 .2 Ultra Fast ASP.NET 構(gòu)建高性能可擴(kuò)展 ASP.NET 網(wǎng)站. 人民郵電出版社 .3 微軟公司 .Developing XML Web Services UsingMicrosof

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論