分層思想是為了讓每層中的組件保持內聚性,每層都應與其下面的各層保持松耦合,對於小型的項目一般三層就夠了,分層的方案有很多種,其中最具影響力也最成熟的就是三層架構.
三層架構
三層指的是表示層,業務邏輯層,數據訪問層
表示層:位於最外層(最上層),使用戶能夠直接訪問,用於顯示數據和接收用戶輸入的數據,為用戶提供一種交互式操作界面.在web應用程序中,表示層一般以JSP.HTML文件為主.
業務邏輯層:主要功能是對業務邏輯處理的封裝,業務邏輯層中,通常會定義一些接口,表示層通過調用業務邏輯層的接口實現各種操作;
數據訪問層:該層實現對數據的保存和讀取操作.
層與層之間的關系
三層架構中,各層之間相互依賴,上一層依賴下一層,各層之間的數據傳遞方向分為請求和響應兩個方向.
過程:
1.表示層根據用戶的操作,請數據提交到業務邏輯層;
2業務邏輯層對用戶的操作進行審核和處理,然后將請求通知數據訪問層或者直接返回給表示層;
3數據層收到業務邏輯層的請求便開始訪問數據庫,從數據庫中訪問得到請求結果;
4並把請求結果通知業務邏輯層,業務邏輯層對數據進行審核和處理,
5然后通知給表示層,表示層收到數據,並把數據展示給用戶;

分層原則:
1上層依賴下一層,依賴關系不跨層
上一層調用下一層所得到的執行結果完全取決於下一層中的實現代碼,上一層無法進行控制
2.下一層不能調用上一層
上一層可以調用下一層的功能,下一層不能調用上一層的功能,下一層是為上一層提供服務,而下一層不能使用上一層的服務
3.下一層不依賴上一層
上一層不管發生任何改變,不會對下一層產生任何影響
4.在上一層中不能出現下一層的概念
確保層次間的關系清晰
