.NET三層架構的概念,作用及區分方法
.NET三層架構的概念
◆用戶界面表示層(USL)
◆業務邏輯層(BLL)
◆數據訪問層(DAL)
BLL將USL與DAL隔開了,并且加入了業務規則
各層的作用
1:數據數據訪問層:主要是對原始數據(數據庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據的操作,而不是數據庫,具體為業務邏輯層或表示層提供數據服務.
2:業務邏輯層:主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。
3:表示層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx, 如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。
.NET三層架構具體的區分方法
1:數據數據訪問層:主要看你的數據層里面有沒有包含邏輯處理,實際上他的各個函數主要完成各個對數據文件的操作。而不必管其他操作。
2:業務邏輯層:主要負責對數據層的操作。也就是說把一些數據層的操作進行組合。
3:表示層:主要對用戶的請求接受,以及數據的返回,為客戶端提供應用程序的訪問。
.NET三層架構概念的解釋
所謂三層體系結構,是在客戶端與數據庫之間加入了一個中間層,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結構,也不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上。 三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數據庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,再經由中間層與數據庫進行交換.
開發人員可以將應用的商業邏輯放在中間層應用服務器上,把應用的業務邏輯與用戶界面分開。在保證客戶端功能的前提下,為用戶提供一個簡潔的界面。這意味著如果需要修改應用程序代碼,只需要對中間層應用服務器進行修改,而不用修改成千上萬的客戶端應用程序。從而使開發人員可以專注于應用系統核心業務邏輯的分析、設計和開發,簡化了應用系統的開發、更新和升級工作。
那么為什么要應用“中間業務層”呢?舉些例子:
我們假設有一段登錄代碼,則可以這樣處理Web程序,外觀層負責接收前臺頁面的數據,然后傳給中間層,中間層對數據進行處理,比如格式化,防SQL注入等等一些,這樣的數據再傳給數據訪問層然后與數據庫進行操作,比如與數據庫的用戶名和密碼匹配等等一些代碼。
“中間業務層”的用途有很多,例如:驗證用戶輸入數據、緩存從數據庫中讀取的數據等等……但是,“中間業務層”的實際目的是將“數據訪問層”的最基礎的存儲邏輯組合起來,形成一種業務規則。例如:“在一個購物網站中有這樣的一個規則:在該網站第一次購物的用戶,系統為其自動注冊”。這樣的業務邏輯放在中間層最合適:
在“數據訪問層”中,最好不要出現任何“業務邏輯”!也就是說,要保證“數據訪問層”的中的函數功能的原子性!即最小性和不可再分?!皵祿L問層”只管負責存儲或讀取數據就可以了。
以上就是.NET三層架構的概念,作用及區分方法。
【編輯推薦】