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