因爲每一層都可以在僅僅更改很少量的代碼後,就能放到物理上不同的服務器上使用,因此結構靈活而且性能更佳。此外,每層做些什麼其它層是完全看不到的,因此更改、更新某層,都不再需要重新編譯或者更改全部的層了。這是個很強大的功能。例如,如果把數據訪問代碼與業務邏輯層分離,當數據庫服務器更改後,你只需要更改數據訪問的代碼,因爲業務邏輯層是不變的,因此不需要更改或者重新編譯業務邏輯層。
一個三層的應用程序通常有:表現層、業務層和數據層。下面讓我們看看每層都做些什麼。
表現層(Presentation Layer)
表現層用於用戶接口的展示,以及用業務層的類和對象來“驅動”這些接口。
在ASP.NET中,該層包括aspx頁面、用戶控制、服務器控制以及某些與安全相關的類和對象。
業務層(Business Tier)
業務層用於訪問數據層,從數據層取數據、修改數據以及刪除數據,並將結果返回給表現層。
在ASP.NET中,該層包括使用SqlClient或OleDb從SQL Server或Access數據庫取數據、更新數據及刪除數據,並把取得的數據放到DataReader或DataSet中返回給表現層。返回的數據也許只有一個整型數字,比如一個表的行記錄數目,但這也要用數據層的數據進行計算。
數據層(Data Tier)
數據層是數據庫或者數據源。在.NET中,通常它是一個SQL Server或Access數據庫,但不僅限於此兩種形式,它還可能是Oracle,mySQL,甚至是XML。
asp.net開發3層架構 每一層作用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
ASP.NET正則表達式提取網頁資源
jackywei1987
2019-02-23 13:51:42
ASP.NET一般處理程序(.ashx.cs)中使用Session的問題
1290605023
2019-02-23 00:06:09
IIS中關於僞靜態的設置
waymy
2019-02-22 23:57:02
使用Javascript,CSS和Ajax創建ASP.NET自定義控件
ssbird
2019-02-22 23:37:28
C# asp.net實現文件上傳
lCarrieLiul
2019-02-22 23:36:23
asp.net core源碼飄香:Logging組件
26度出太陽
2019-02-22 23:12:30
asp.net mvc 如何調用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空間
沐雪微信
2019-02-22 23:07:00
ASP.NET Cookie對象到底是毛啊?(簡單小例子)
我不會抽菸
2019-02-22 22:51:08
.NET,C#和ASP.NET的關係
sunnyting902
2019-02-22 22:45:12
如何提高碼農產量--mvc+jquery框架形成之旅(總體介紹)
spy95599
2019-02-22 22:43:51
Page生命週期詳解
切你小JJ
2019-02-22 22:24:02
DWZ使用筆記
ykppingfan
2019-02-22 22:00:14
(asp.net 2.0)關於NavigateUrl中綁定Eval()方法時出現"服務器標記的格式不正確"的解決方法
qssduck
2019-02-22 21:49:40
ASP.NET僞靜態及靜態
lisanwei
2019-02-22 21:44:39
.Net三層架構
wdj_student
2019-02-22 23:54:29