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

下載本文檔

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

文檔簡介

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

2、)業(yè)務邏輯層(BLL);(3)數(shù)據(jù)訪問層(DAL)o按照這些原則對應用程序進行分層,不但方便開發(fā)人員生成具有高度伸縮和靈活的應用程序,而且易于整個項目的擴展、重用和分工協(xié)作。2 .表示層(UI)。為用戶提供交互操作界面,這一點不論是對于Web還是WinForm都是如此,就是用戶界面操作。利用ASP.NETWeb應用程序和XMLWebservices,Web客戶端能夠以可視形式為應用程序提供豐富、靈活和交互的用戶界面。3 .業(yè)務邏輯層(BLL)o負責關(guān)鍵業(yè)務的處理和數(shù)據(jù)的傳遞。復雜的邏輯判斷和涉及數(shù)據(jù)庫的數(shù)據(jù)驗證都需要在此做由處理。根據(jù)傳入的值返回用戶想得到的值,或者處理相關(guān)的邏輯。4 .數(shù)據(jù)訪

3、問層(DAL)。負責數(shù)據(jù)庫數(shù)據(jù)的訪問。主要為業(yè)務邏輯層提供數(shù)據(jù),根據(jù)傳入的值操作數(shù)據(jù)庫,增、刪、改或者其他。在分布式應用程序結(jié)構(gòu)中,相應功能使用ADO.NET數(shù)據(jù)適配器和SQL服務器存儲過程完成。二、ASP.NET的三層構(gòu)架技術(shù)分析1 .三層結(jié)構(gòu)解釋。所謂三層體系結(jié)構(gòu),是在客戶端與數(shù)據(jù)庫之間加入了一個中間層,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結(jié)構(gòu),也不僅僅有B/S應用才是三層體系結(jié)構(gòu),三層是指邏輯上的三層,即使這三個層放置到一臺機器上。三層體系的應用程序?qū)I(yè)務規(guī)則、數(shù)據(jù)訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數(shù)據(jù)

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

5、上是不是有問題就很難說。不同的應用有不同的理解,這只是一個概念的問題。3 .理解ASP.NET中的三層結(jié)構(gòu)一一為什么要分三層?。我們用三層結(jié)構(gòu)主要是使項目結(jié)構(gòu)更清楚,分工更明確,有利于后期的維護和升級。它未必會提升性能,因為當子程序模塊未執(zhí)行結(jié)束時,主程序模塊只能處于等待狀態(tài)。這說明將應用程序劃分層次,會帶來其執(zhí)行速度上的一些損失。但從團隊開發(fā)效率角度上來講卻可以感受到大不相同的效果。需要說明的是,三層結(jié)構(gòu)不是.NET的專利,也不是專門用在數(shù)據(jù)庫上的技術(shù)。它是一種更加普適的架構(gòu)設計理念三、建立ASP.NET項目的三層構(gòu)架1 .建立類庫。為了整個項目開發(fā)方便,我們在項目中建幾個類庫:SQLHel

6、per,BLL,DAL,Model和一個Web網(wǎng)站。業(yè)務邏輯層(BusinessLogicLayer):BLL,命名空間默認設置為BLLo數(shù)據(jù)訪問層(DataAccessLayer):DAL,命名空間默認設置為DAL。SQL幫助類:SQLHelper,命名空間默認設置為SQLHelper。2 .建立實體類庫。為了數(shù)據(jù)傳遞的方便,通常再添加一個類庫,這個類庫是貫穿于整個三層架構(gòu)中的,即實體類。通常命名為Model,命名空間默認值設置為:Modelso其中封裝的每個類都對應一個實體,通常就是數(shù)據(jù)庫中的一個表。如數(shù)據(jù)庫中的用戶表(custom)封裝為(custom),將表中的每個字段都封裝成共有的屬

7、性。這樣三層架構(gòu)的搭建就基本完成了。這三層有著非常強的依賴關(guān)系:表示層?茴業(yè)務邏輯層?茴數(shù)據(jù)訪問層它們之間的數(shù)據(jù)傳遞是雙向的,并且通常借助實體類傳遞數(shù)據(jù)四、三層構(gòu)架的優(yōu)點1 .易于項目的修改和維護。在項目的開發(fā)過程中或者開發(fā)后的升級過程中,甚至在項目的移植過程中。這種三層架構(gòu)是非常方便的。比如項目從Web移植到Form,我們只需要將表示層重新做一遍就可以了,其余兩層不用改動,只需添加到現(xiàn)有項目就可以了。如果不采用這種架構(gòu),只是將代碼寫到表示層,那么所有的編碼幾乎都要重新來。2 .易于擴展。在功能的擴展上同樣如此,如有功能的添加只需把原有的類庫添加方法就可以了。3 .易于代碼的重用。4 .易于分工協(xié)作。五、結(jié)語設計模式中的分層構(gòu)架實現(xiàn)了各司其職,互不干涉,因此哪一層的需求發(fā)生了變化,就只需要更改相應地層中的代碼而不會影響到其他層中的代碼。這樣就能更好地實現(xiàn)開發(fā)中的分工,有利于組件的重用,所以一個好的模式在程序開發(fā)和后期維護中作用非常大。參考文獻:1ProfessionalASP.NETDesignPatternsASP.Net設計模式.清華大學生版社2UltraFastASP.NET構(gòu)建高性能可擴展ASP.NET網(wǎng)站.人民郵電生版社.3微軟公司.DevelopingXMLWebServicesUsin

溫馨提示

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

評論

0/150

提交評論