多層應用簡介
什么是多層架構的應用呢?傳統上的CLR模式便是兩層應用的典型例子,也就是客戶機 /服務器模式。這種模式只是兩層架構,客戶機發出請求給服務器,服務器將處理大量來自客戶端的請求,經過業務邏輯運算和處理后,再返回給客戶端。兩層架構的模式顯然不能滿足現代以互聯網為趨勢的企業計算處理要求,因為其部署,負載均衡等處理十分麻煩,所以就有了三層架構乃至于多層架構便出現了。多層架構的核心思想是,將整個業務應用劃分為表示層-業務層―數據訪問層-數據庫,明確地將客戶端的表示層、業務邏輯訪問、和數據訪問及數據庫訪問劃分出來,十分有利于系統的開發,維護、部署和擴展。下面我們以典型的一個例子來說明,如何使用 ASP.NET 2.0和SQL Server 2005來構建一個多層應用。
我們的這個例子十分簡單,但足以能夠說明問題。我們的應用只有兩個頁面,第一個頁面將調用SQL Server 2005數據庫中的pubs數據庫的author表,列出所有的作者,然后點選每個作者的鏈接,將顯示該作者寫過哪些書籍。
下面的圖,說明了在ASP.NET 2.0架構下,我們的這個多層應用的架構圖:
![]() |
從上圖可以看出,我們將以這樣的方式來構建這個多層應用。首先,從圖的最上方開始看,藍色部分的是表示層,就是我們web應用的外觀顯示,該層直接和用戶打交道,比如處理輸入輸出等,在ASP.NET 2.0中,我們可以使用master page模版技術,以構建一個外觀風格保持一致的頁面(這在下文中會提到)。接下來是業務邏輯層,一般在該層中會直接處理業務邏輯及相關計算等,而在ASP.NET 2.0中,我們可以很方便地通過使用objectdatasource 控件 來處理業務邏輯層。
業務邏輯層再接著和數據訪問層(data aclearcase/" target="_blank" >ccess layer)打交道。數據訪問層的作用是,將所有對數據庫操作的有關過程業務分離出來,當數據庫的結構等發生改變時,只需要對數據訪問層的代碼進行修改就可以了,不需要再修改其他的地方,這樣會方便和不同的數據庫進行打交道。在ASP.NET 2.0中,通過使用TableAdapter數據向導操作,可以十分快速地從已有的數據庫中,生成數據訪問層的代碼,而基本上不需要寫什么代碼。
最后,我們通過使用SQL Server 2005 新特性:clr stored procedure(clr 存儲過程),來創建存儲過程。在SQL Server 2005 中,你可以使用自己熟悉的.NET語言來創建存儲過程了。
原文轉自:http://www.anti-gravitydesign.com