劉驥
摘 要 ASP.NET三層架構體系,就是將整個ASP.NET項目應用劃分為:表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層。各層所完成的功能并不相同,但相互依存、相互配合,共同完成系統(tǒng)的每一個功能實現(xiàn)。
關鍵詞 三層架構體系 表示層 業(yè)務邏輯層 數(shù)據(jù)訪問層
中圖分類號:G250.74 文獻標識碼:A
1 ASP.NET三層架構體系框架
ASP.NET三層架構體系,就是將整個ASP.NET項目應用劃分為:表示層、業(yè)務邏輯層、數(shù)據(jù)訪問層。各層所完成的功能并不相同,但相互依存、相互配合,共同完成系統(tǒng)的每一個功能實現(xiàn)。
以下為解釋更詳細以ASP.NET三層架構體系開發(fā)的“3G手機開發(fā)”網(wǎng)站中會員下載模塊為案例詳細介紹。
1.1 數(shù)據(jù)訪問層
數(shù)據(jù)訪問層就是訪問數(shù)據(jù)庫中每一個表的數(shù)據(jù)類的集合。
下面以本網(wǎng)站中的“會員下載學習資料”模塊為例,闡述數(shù)據(jù)訪問層數(shù)據(jù)的處理流程。在本網(wǎng)站的數(shù)據(jù)庫中有一個“hnf_user(會員)數(shù)據(jù)表”和“hnf_item(內(nèi)容)數(shù)據(jù)表”。hnf_user數(shù)據(jù)訪問層就要創(chuàng)建與該“hnf_user(會員)數(shù)據(jù)表”所對應的“有hnf_user數(shù)據(jù)訪問類”,該類中包含了對“hnf_user(會員)數(shù)據(jù)表”的所有操作(增、查、刪、改)。hnf_item數(shù)據(jù)訪問層就要創(chuàng)建與該“hnf_item數(shù)據(jù)表”所對應的“有hnf_item數(shù)據(jù)訪問類”。
1.2 業(yè)務邏輯層
業(yè)務邏輯層就是通過調(diào)用數(shù)據(jù)訪問層不同的類,達到操作數(shù)據(jù)庫的目的。即業(yè)務邏輯層就是訪問數(shù)據(jù)訪問層類的集合。
下面以本網(wǎng)站中的“會員下載學習資料”模塊為例,闡述業(yè)務邏輯層訪問數(shù)據(jù)訪問層的處理流程。
當某會員要完成查找和下載學習資料時,業(yè)務邏輯訪問層負責處理實現(xiàn)查找和下載學習資料的功能。業(yè)務邏輯訪問層處理時,要同時調(diào)用本本網(wǎng)站數(shù)據(jù)庫中的“hnf_user(會員)”和“hnf_item(內(nèi)容)”兩個數(shù)據(jù)表所對應的數(shù)據(jù)訪問層中的類,達到同時操作“hnf_user(會員)”和“hnf_item(內(nèi)容)”兩個數(shù)據(jù)表目的。
1.3 表示層
表示層負責展示內(nèi)容、與用戶交互。ASP.NET中的表示層就是網(wǎng)頁。表示層是最終的應用。業(yè)務邏輯層、數(shù)據(jù)訪問層都是表示層的基礎。
2 三層架構體系中數(shù)據(jù)訪問及調(diào)用關系
本網(wǎng)站是在標準的三層架構體系中添加了Model、DBUtility兩層,實際都是在這三層基礎上的一種擴展和應用。因此整個網(wǎng)站業(yè)務功能劃分為:表現(xiàn)層(web)、業(yè)務邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)、業(yè)務實體類(Model)、數(shù)據(jù)訪問組件基礎類(DBUtility)5個層次。
數(shù)據(jù)訪問層(DAL)可以被業(yè)務邏輯層(BLL)訪問,業(yè)務邏輯層可以被表示層(web)訪問,用戶通過表示層將請求傳送給業(yè)務邏輯層,業(yè)務邏輯層完成相關業(yè)務規(guī)則和邏輯,并通過數(shù)據(jù)訪問層訪問數(shù)據(jù)庫獲得數(shù)據(jù),然后按照相反的順序依次返回將數(shù)據(jù)顯示在表示層。三層架構間數(shù)據(jù)訪問及調(diào)用關系如表1所示。
表1 三層架構間數(shù)據(jù)訪問及調(diào)用關系
3 總結:三層架構體系中數(shù)據(jù)訪問及調(diào)用解析
web頁面中看到的大量的數(shù)據(jù)信息是用戶通過表示層將請求傳送給業(yè)務邏輯層,業(yè)務邏輯層完成相關業(yè)務規(guī)則和邏輯,并通過數(shù)據(jù)訪問層訪問數(shù)據(jù)庫獲得數(shù)據(jù),然后按照相反的順序依次返回將數(shù)據(jù)顯示在表示層。代碼的實現(xiàn)過程與用戶的使用過程是一個相反的過程,即數(shù)據(jù)庫訪問組件類(DBUtility)、業(yè)務實體類(Model)、數(shù)據(jù)訪問層(DA)、業(yè)務邏輯層(BLL)、表示層(WEB)的一個順序實現(xiàn)的。
參考文獻
[1] [美]伊文詹. ASP.NET 3.5 SP1 高級編程.清華大學出版社,2009(01).
[2] 梁立新.ASP.NET應用開發(fā)-基于ASP.NET.C#和ADO.NET的三層架構案例分析.電子工業(yè)出版社,2011(12).
[3] 密君英.基于三層架構的ASP.NET項目實戰(zhàn)教程.中國電力出版社,2011(08).