708
技術社區[雲棲]
淺析三層架構
1、 什麼是三層
所謂三層架構,是在客戶端與數據庫之間加入了一個“中間層”,也叫組件層。這裏所說的三層體係,不是指物理上的三層,不是簡單地放置三台機器就是三層體係結構,也不僅僅有B/S應用才是三層體係結構,三層是指邏輯上的三層,即使這三個層放置到一台機器上。
通常意義上的三層架構就是將整個業務應用劃分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。區分層次的目的即為了“高內聚,低耦合”的思想。
表現層(UI):通俗講就是展現給用戶的界麵,向用戶展現特定業務數據,采集用戶的輸入信息和操作。
業務邏輯層(BLL):負責關鍵業務的處理和數據的傳遞。從DAL中獲得數據,以供UI顯示,從UI中獲得用戶指令和數據,執行業務邏輯,從UI中獲取用戶指令和數據,通過DAL寫物數據源。
數據訪問層(DAL):和數據打交道,隻關注數據的操作(Select、Insert/Update、Delete)。
三層之間有存在非常強的依賴關係
2、 為什麼要使用三層
背景
以前的按功能模塊一般是幾個人將項目的功能模塊一分,每個人從操作數據庫、完成業務邏輯到實現界麵都要獨自完成,當然數據庫的設計是由一個人完成。
弊病
首先每個開發人都需要掌握大部分技術,還要有很強的業務邏輯的理解能力,其次每個人的開發習慣都不同,形成的代碼繁雜可讀性差,最後後期的完善、維護都會造成麻煩。
原因
將軟件開發分層,其實可以簡單的理解為工種分層、規範代碼,基本可以將工作分為界麵設計人員、業務實現人員、數據庫設計人員。
界麵設計人員的工作就是製作程序界麵然後將信息提交給業務層,不需要考慮業務層的邏輯關係,業務實現人員的工作是處理界麵提交的數據請求完成邏輯流程,再結合數據訪問層,不用考慮界麵設計的樣式、風格,也不用考慮數據庫的格式,數據訪問層一般是設計完善的架構係統,基本不需要人員工作,主要是屏蔽掉數據庫間的差異,為業務層提供便捷的操作功能,數據庫設計人員就是設計、規劃數據庫。
很顯然一個團隊采用多層開發就可以合理的分配人員工作,將每個人放置到適合的崗位上,而主要的技術人員集中在關鍵部位的開發工作,重複簡單的勞動,如畫界麵就可以安排給新手來完成。
3、 什麼情況下需要三層
對於一個簡單的應用程序來說,代碼量不是很多的情況下,一層結構或二層結構開發完全夠用,沒有必要將其複雜化,如果對一個複雜的大型係統,設計為一層結構或二層結構開發,那麼這樣的設計存在很嚴重缺陷,這時我們就需要用到三層架構了。
4、 結語
剛剛接觸到三層還沒有具體的應用,博文中的一些理論知識也大多來自前輩們智慧的結晶,在接下來的機房收費係統中需要好好實踐一下,同時之前學習過的設計模式也可以得到很好的曆練。
最後更新:2017-04-03 12:55:36