軟件架構分層

目前經常使用的三層構架即:表示層、業務層和數據訪問層。數據庫

(圖片來源於網絡)網絡

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 企業級應用開發實戰》

相關文章
相關標籤/搜索