軟件開發(fā)層次的簡單了解

軟件開發(fā)層次的簡單了解

ID:38204091

大?。?9.57 KB

頁數(shù):5頁

時間:2019-05-25

軟件開發(fā)層次的簡單了解_第1頁
軟件開發(fā)層次的簡單了解_第2頁
軟件開發(fā)層次的簡單了解_第3頁
軟件開發(fā)層次的簡單了解_第4頁
軟件開發(fā)層次的簡單了解_第5頁
資源描述:

《軟件開發(fā)層次的簡單了解》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、簡述三層架構和兩層架構: 三層架構(3-tierapplication)通常意義上的三層架構就是將整個業(yè)務應用劃分為:表現(xiàn)層(UI)、業(yè)務邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)。區(qū)分層次的目的即為了“高內(nèi)聚,低耦合”的思想?! 。?、表現(xiàn)層(UI):通俗講就是展現(xiàn)給用戶的界面,即用戶在使用一個系統(tǒng)的時候他的所見所得。 ?。?、業(yè)務邏輯層(BLL):針對具體問題的操作,也可以說是對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務邏輯處理?! 。场?shù)據(jù)訪問層(DAL):該層所做事務直接操作數(shù)據(jù)庫,針對數(shù)據(jù)的增添、刪除、修改、更新、查找等。三層架構概述

2、三層架構(3-tierapplication)一個三層架構的應用程序由三部分組成,這三部分各自分布在網(wǎng)絡中的不同地方。這三個部分分別是:工作站或表示層接口、事務邏輯、數(shù)據(jù)庫以及與其相關的程序設計。在軟件體系架構設計中,分層式結(jié)構是最常見,也是最重要的一種結(jié)構。微軟推薦的分層式結(jié)構一般分為三層,從下至上分別為:數(shù)據(jù)訪問層、業(yè)務邏輯層(又或稱為領域?qū)樱?、表示層。這種應用程序的設計使用客戶/服務器模式,各層可以同時開發(fā),并且可以由不同的程序員組用不同的語言來開發(fā)。因為各個層次的開發(fā)不會影響其他層次,所以這種模型對于進一步開發(fā)

3、軟件是很方便的。例如:5/5老張去飯館,先跟服務生要菜單看,這就是表述層,再跟服務生點菜,服務拿著菜單去交給后臺大廚,這就是業(yè)務邏輯層,大廚做好菜再讓服務生拿上來,這就是數(shù)據(jù)訪問層三層結(jié)構原理:  3個層次中,系統(tǒng)主要功能和業(yè)務邏輯都在業(yè)務邏輯層進行處理?! ∷^三層體系結(jié)構,是在客戶端與數(shù)據(jù)庫之間加入了一個“中間層”,也叫組件層。這里所說的三層體系,不是指物理上的三層,不是簡單地放置三臺機器就是三層體系結(jié)構,也不僅僅有B/S應用才是三層體系結(jié)構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上?! ∪龑芋w系的應用程

4、序?qū)I(yè)務規(guī)則、數(shù)據(jù)訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與數(shù)據(jù)庫進行交互,而是通過COM/DCOM通訊與中間層建立連接,再經(jīng)由中間層與數(shù)據(jù)庫進行交互。表示層   表示層(UserInterface):位于最外層(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。業(yè)務邏輯層   業(yè)務邏輯層(BusinessLogicLayer):無疑是系統(tǒng)架構中體現(xiàn)核心價值的部分。它的關注點主要集中在業(yè)務規(guī)則的制定、業(yè)務流程的實現(xiàn)等與業(yè)務需求有關的系統(tǒng)設計,也即是說它是

5、與系統(tǒng)所應對的領域(Domain)邏輯有關,很多時候,也將業(yè)務邏輯層稱為領域?qū)?。例如MartinFowler在《PatternsofEnterpriseApplicationArchitecture》一書中,將整個架構分為三個主要的層:表示層、領域?qū)雍蛿?shù)據(jù)源層。作為領域驅(qū)動設計的先驅(qū)EricEvans,對業(yè)務邏輯層作了更細致地劃分,細分為應用層與領域?qū)樱ㄟ^分層進一步將領域邏輯與領域邏輯的解決方案分離。  業(yè)務邏輯層在體系架構中的位置很關鍵,它處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用。由于層是一種弱耦

6、合結(jié)構,層與層之間的依賴是向下的,底層對于上層而言是“無知”的,改變上層的設計對于其調(diào)用的底層而言沒有任何影響。如果在分層設計時,遵循了面向接口設計的思想,那么這種向下的依賴也應該是一種弱依賴關系。因而在不改變接口定義的前提下,理想的分層式架構,應該是一個支持可抽取、可替換的“抽屜”式架構。正因為如此,業(yè)務邏輯層的設計對于一個支持可擴展的架構尤為關鍵,因為它扮演了兩個不同的角色。對于數(shù)據(jù)訪問層而言,它是調(diào)用者;對于表示層而言,它卻是被調(diào)用者。依賴與被依賴的關系都糾結(jié)在業(yè)務邏輯層上,如何實現(xiàn)依賴關系的解耦,則是除了實現(xiàn)業(yè)

7、務邏輯之外留給設計師的任務。數(shù)據(jù)層5/5  數(shù)據(jù)訪問層(DataAccessLogic):有時候也稱為是持久層,其功能主要是負責數(shù)據(jù)庫的訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進制文件、文本文檔或是XML文檔。簡單的說法就是實現(xiàn)對數(shù)據(jù)表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就會包括對象和數(shù)據(jù)表之間的mapping,以及對象實體的持久化。概括來說,分層式設計可以達至如下目的:分散關注、松散耦合、邏輯復用、標準定義。所以:一個好的分層式結(jié)構,可以使得開發(fā)人員的分工更加明確。一旦定義

8、好各層次之間的接口,負責不同邏輯設計的開發(fā)人員就可以分散關注,齊頭并進。例如UI人員只需考慮用戶界面的體驗與操作,領域的設計人員可以僅關注業(yè)務邏輯的設計,而數(shù)據(jù)庫設計人員也不必為繁瑣的用戶交互而頭疼了。每個開發(fā)人員的任務得到了確認,開發(fā)進度就可以迅速的提高。松散耦合的好處是顯而易見的。如果一個系統(tǒng)沒有分層,那么各自的邏輯都緊緊糾纏

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。