三层架构整理
一、什么是三層架構?
三層架構主要是指將業務應用規劃中的表示層 UI、數據訪問層 DAL 以及業務邏輯層 BLL,其分層的核心任務是" 高內聚低耦合 "的實現。?在整個軟件架構中,分層結構是常見和普通的軟件結構框架,同時也具有非常重要的地位和意義。這種三層架構可以在軟件開發的過程中,劃分技術人員和開發人員的具體開發工作,重視核心業務系統的分析、設計以及開發,提高信息系統開發質量和開發效率,進而為信息系統日后的更新與維護提供很大的方便。
UI(表現層): 主要是指與用戶交互的界面。用于接收用戶輸入的數據和顯示處理后用戶需要的數據。
BLL:(業務邏輯層): UI層和DAL層之間的橋梁。實現業務邏輯。業務邏輯具體包含:驗證、計算、業務規則等等。
DAL:(數據訪問層): 與數據庫打交道。主要實現對數據的增、刪、改、查。將存儲在數據庫中的數據提交給業務層,同時將業務層處理的數據保存到數據庫。
三層之間的聯系:
?二、Entity(實體層)
它不屬于三層中的任何一層,但是它是必不可少的一層。
Entity在三層架構中的作用
?1、實現面向對象思想中的"封裝";
?2、貫穿于三層,在三層之間傳遞數據;(注:確切的說實體層貫穿于三層之間,來連接三層)
?3、每一層(UI—>BLL—>DAL)之間的數據傳遞(單向)是靠變量或實體作為參數來傳遞的,這? ?樣就構造了三層之間的聯系,完成了功能的實現。
三層及實體層之間的依賴關系:
三、三層架構的優缺點
?三層架構的優勢 :
?1、結構清晰、耦合度低
?2、可維護性高,可擴展性高
?3、利于開發任務同步進行, 容易適應需求變化
三層架構的劣勢:
?1、降低了系統的性能。這是不言而喻的。如果不采用分層式結構,很多業務可以直接造訪數據? ?庫,以此獲取相應的數據,如今卻必須通過中間層來完成。
?2、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個? ?功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應? ?的代碼
?3、增加了代碼量,增加了工作量
四、三層架構與兩層的區別
1、兩層關系圖:
當任何一個地方發生變化時,都需要重新開發整個系統。"多層"放在一層,分工不明確耦合度高難以適應需求變化,可維護性低、可擴展性低 。
2、三層關系圖:
發生在哪一層的變化,只需更改該層,不需要更改整個系統。層次清晰,分工明確,每層之間耦合度低提高了效率,適應需求變化,可維護性高,可擴展性高。??
?
總結
- 上一篇: DP4361国产六通道立体声D/A音频转
- 下一篇: 高盛:腾讯、阿里和百度将被移出MSCI中