1. 程式人生 > >【三層架構】基礎學習

【三層架構】基礎學習

物理上的劃分還是邏輯上的劃分??
物理(硬體)上的劃分:顯示層/業務層/資料層
邏輯上的劃分:資料訪問層/顯示層/業務邏輯層

what??

三層架構:是邏輯上的劃分,將整個業務應用劃分為:資料訪問層(DAL),表示層(UI),業務邏輯層(BLL)。分層次的目的是為了“高內聚低耦合”的思想。

why?

當業務複雜的一定長度上,當資料儲存到相應的資料庫或者一個獨立的資料儲存介質這樣的情況,即報資料訪問脫離開業務單獨存在,把業務脫離開顯示單獨存在,那麼顯示只需要呼叫業務訪問層。

資料訪問層(DAL)

也稱為:持久層,功能主要是負責資料庫的訪問。

從資料來源載入資料
向資料來源寫入資料
從資料來源刪除資料

PS:DAL只提供基本的資料訪問,不包括任何業務相關的邏輯處理。

表示層(UI)

向用戶展現特定業務資料
採集使用者的輸入資訊和操作

PS:UI只負責顯示和採集使用者操作,不包含任何的業務相關的邏輯處理。

業務邏輯層(BLL)

從DAL中獲取資料,以供UI顯示用
從UI中獲取使用者指令和資料,執行業務邏輯

PS:BLL負責處理業務邏輯。

各層之間的呼叫

表示層(UI)使用者需要的介面,使用者的需求都是在這上面改動的,一旦改動,首先U層向B層傳送使用者請求的說明,到達B層,B層在將U層的使用者請求發到D層,D層接受到使用者的指令後,對他進行處理,傳送資料反饋到B層,B層再發給U層,將其實現。


PS:各層之間的引用關係:UI——>BLL——>DAL

DAL所在程式集不引用BLL和UI
BLL需要引用DAL
UI直接引用BLL,可能會間接引用DAL

總結

通過視訊的學習對三層有了基本的瞭解,每個層次擁有自己的職能,做自己的事情,但是又有著剪不斷的聯絡,但UI層被更改了,BLL和DAL層也要做相應的改變。