目前經常使用的三層構架即:表示層、業務層和數據訪問層。數據庫
(圖片來源於網絡)網絡
1、概述
一、表示層:提供用戶交互的界面。GUI和Web頁面是表示層最典型的兩個例子。
二、業務層:也稱之爲業務邏輯層,用於實現各類業務邏輯。如處理數據驗證,根據特定的業務規則和任務來響應特定的行爲。
三、數據訪問層:也稱之爲數據持久層,負責存放和管理應用的持久性業務數據。
2、分層架構應遵循的原則
(1)每一個層的代碼必須包含能夠單獨維護的單獨文件;架構
(2)每一個層只能包含屬於該層的代碼。所以,業務邏輯只能駐留在業務層,表示層只能在表示層,而數據訪問邏輯也只能駐留在數據訪問層中。spa
(3)表示層只能接收來自外部代理的請求,並向外部代理返回響應。代理
(4)表示層只能向業務層發送請求,並從業務層接收響應。它不能直接訪問數據或數據訪問層。對象
(5)業務層只能接收來自表示層的請求,並返回對錶示層的響應。blog
(6)業務層只能向數據層發送請求,並從其接收響應。它不能直接訪問數據庫。圖片
(7)數據訪問層只能從業務層接收請求並返回響應。它不能發出請求到除了它支持的數據管理系統(DBMS)之外的任何地方。開發
(8)每層徹底不知道其它層的內部工做原理。例如,業務層能夠對數據庫一無所知,而且能夠不知道或沒必要關心數據訪問對象的內部工做原理,它必須是和表示層無關的,能夠不知道或是沒必要關心表示層是如何處理它的數據的。表示層能夠獲取數據並構造HTML文檔、PDF文檔、CSV文件或以某種其它方式處理它,可是這應該與業務層徹底無關。文檔
(9)每層應當能夠用具備相似特徵的替代組件來交換這個層,使得總體能夠繼續工做。
3、三層架構圖
表示層
|_______ Controller
|_______ View
業務層
|_______ Enity
|_______ VO
數據訪問層
|_______ Dao
|_______ Repository
參考資料《Spring Boot 企業級應用開發實戰》