三层结构功能解析
??? 上篇博客從日常生活中對軟件設計的三層結構進行了簡單的剖析,該篇博客主要總結各層功能。
??? 下圖為三層的結構模型:
數據訪問層
???? 主要負責數據庫的訪問,實現對數據表的增刪改查操作。在分布式應用程序結構中,使用 ADO.NET 數據適配器和 SQL 服務器存儲過程來完成。
?作用
?????(1)從“業務規則”層接收請求,從“數據服務”獲取數據或向其發送數據。?
?????(2)使用存儲過程獲取數據,并可選用 ADO.NET 向數據庫發送數據。?
???? (3)將數據庫查詢結果返回到“業務規則”層,作為ADO.NET 數據集。?
業務邏輯
??? 是整個系統的核心,它與這個系統的業務有關。它們實現業務實體或系統對象。系統的業務規則將在這些對象中編碼。
?作用
??? (1) 從“用戶界面”層接受請求。?
??? (2) 根據編碼的業務規則處理請求。?
??? (3) 從“數據訪問”層獲取數據或將數據發送到“數據訪問”層。?
??? (4)將處理結果傳遞回“用戶界面”層。
用戶界面
??? 系統的UI部分。在分布式應用程序結構中,用戶服務可以是 Web 客戶端或 Windows 客戶端,這具體取決于特定的應用程序。例如,在開發Web 應用程序時,可能需要提供具有標準 Windows 用戶界面或 Web 用戶界面。通常,這種一般類型的應用程序包含以下功能:
?作用
?? (1)管理 Web 頁或 Windows 界面的呈現和行為?
?? (2)顯示數據?
?? (3)捕獲數據?
?? (4)數據驗證檢查?
?? (5)為用戶提供任務指南?
?? (6)向“業務規則”發送用戶輸入?
?? (7)從“業務規則”接收結果?
?? (8)向用戶顯示錯誤?
?
???? 概括來說,分層設計主要為了達到:分散關注、松散耦合、邏輯復用、標準定義的目的。好的分層式結構,可以使開發人員的分工更明確。
三層設計的優點還有:
1、開發人員可以只關注整個結構中的其中某一層;
2、可以很容易的用新的實現來替換原有層次的實現;
3、可以降低層與層之間的依賴;
4、有利于標準化;
5、利于各層邏輯的復用。
具體區分方法:
??? 1:數據數據訪問層:主要看數據層里面有沒有包含邏輯處理,實際上他的各個函數主要完成各個對數據文件的操作。而不必管其他操作。
??? 2:業務邏輯層:主要負責對數據層的操作。也就是說把一些數據層的操作進行組合。
??? 3:表示層:主要對用戶的請求接受,以及數據的返回,為客戶端提供應用程序的訪問。
?
總結
- 上一篇: 6、单机运行环境搭建之 --CentOS
- 下一篇: 用master-worker模型比对团队