3層是建立在面向對象的基礎上設計的,分層的最高原則是高內聚,低耦合。3層架構將數據層、利用層和業務層分離,業務層通過利用層訪問數據庫,保護數據安全,利于負載平衡,提高運行效力,方便構建不同網絡環境下的散布式利用。
1、3層架構概述
物理分類:顯示層、業務邏輯層、數據層
邏輯分類:UI、BLL+DAL、DB
2、甚么情況下使用3層架構?
業務復雜,需要獨立數據存儲。
3、3層的作用
3.1、顯示層
UI的作用:向用戶展現特定的業務數據;收集用戶的輸入信息和操作。
3.2、業務邏輯層
BLL的作用:從DAL中獲得數據,供給UI顯示用
從UI中獲得用戶指令和數據,履行業務邏輯
從UI中獲得用戶指令和數據,通過DAL寫書數據源
3.3、數據訪問層
DAL的作用:從數據源加載數據(Select)
向數據源寫入數據(InsertUpdate)
從數據源刪除數據(Delete)
4、具體利用原則
4.1、DAL只是提供基本的數據訪問,不包括任何業務相干的邏輯處理
4.2、UI只負責顯示和收集用戶的操作,不包括任何的業務相干的邏輯處理
4.3、BLL負責處理業務邏輯。通過獲得UI傳來的操作指令,決定履行業務邏輯,在需要訪問數據源的
時候直接交給DAL處理,處理終了后返回必要的數據給UI。
5、3層之間的依賴關系
數據訪問層的類,直接訪問數據庫,實現基本記錄操作。
業務邏輯層的類,調用相干的數據訪問類,實現用戶所需功能。
界面層:部署控件后,調用業務邏輯層的類,實現功能。
6、3層設計的優缺點
6.1、優點
1、開發人員可以只關注全部結構中的其中某1層;
2、可以很容易的用新的實現來替換原有層次的實現;
3、可以下降層與層之間的依賴;
4、有益于標準化;
5、利于各層邏輯的復用。
6.2、缺點
1、下降了系統的性能。如果不采取分層式結構,很多業務可以直接造訪數據庫,以此獲得相應的數
據,如今卻必須通過中間層來完成。
2、有時會致使級聯的修改。這類修改特別體現在自上而下的方向。如果在表示層中需要增加1個功
能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的
代碼。
7、小結
剛剛開始學習3層的時候覺得很亂,漸漸的將思路理清了,在UI的類調用BLL類中的方法(或是函數),然后BLL類在根據UI傳遞過來的信息在調用DAL類中的方法(或函數),DAL類再根據BLL傳遞過來的信息再去訪問數據源。