DAL,BLL,UI,三層架構的影響

這位博主對於三層結構的理解很棒,對新手很友好

https://blog.csdn.net/hanxuemin12345/article/details/8544957/

UI(表現層):主要是指與用戶交互的界面。用於接收用戶輸入的數據和顯示處理後用戶需要的數據

BLL:(業務邏輯層):UI層和DAL層之間的橋樑。實現業務邏輯。業務邏輯具體包含:驗證、計算、業務規則等等

DAL:(數據訪問層):與數據庫打交道。主要實現對數據的增、刪、改、查。將存儲在數據庫中的數據提交給業務層,同時將業務層處理的數據保存到數據庫。(當然這些操作都是基於UI層的。用戶的需求反映給界面(UI),UI反映給BLL,BLL反映給DAL,DAL進行數據的操作,操作後再一一返回,直到將用戶所需數據反饋給用戶)
 

將三層連接起來的是業務實體類,Entity。

Entity(實體層):它不屬於三層中的任何一層,但是它是必不可少的一層。

Entity在三層架構中的作用:

1,實現面向對象思想中的"封裝";

2,貫穿於三層,在三層之間傳遞數據;

(注:確切的說實體層貫穿於三層之間,來連接三層)

3,對於初學者來說,可以這樣理解:每張數據表對應一個實體,即每個數據表中的字段對應實體中的屬性(注:當然,事實上不是這樣。爲什麼?

            1>,可能我們需要的實體在數據表對應的實體中並不存在;2>,我們完全可以將所有數據表中的所有字段都放在一個實體裏)

4,每一層(UI—>BLL—>DAL)之間的數據傳遞(單向)是靠變量或實體作爲參數來傳遞的,這樣就構造了三層之間的聯繫,完成了功能的實現。

但是對於大量的數據來說,用變量做參數有些複雜,因爲參數量太多,容易搞混。比如:我要把員工信息傳遞到下層,信息包括:員工號、姓名、年齡、性別、工資....用變量做參數的話,那麼我們的方法中的參數就會很多,極有可能在使用時,將參數匹配搞混。這時候,如果用實體做參數,就會很方便,不用考慮參數匹配的問題,用到實體中哪個屬性拿來直接用就可以,很方便。這樣做也提高了效率。
 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章