三层架构学习
什么是三層架構?
通常意義上的三層架構就是將整個業務應用劃分為:顯示層(User Interface layer)、業務邏輯層(Business Logic Layer)、數據訪問層(Data access layer)。
顯示層
1.UI的作用
向用戶展現特定業務數據。
采集用戶的輸入信息和操作指令。
2.UI設計的原則
用戶至上,兼顧簡潔。(用戶需要什么就做什么;在滿足用戶的要求下,越簡單越好。)
3.UI中常用的技術
WindowsForm:Form、Control
ASP .NET:aspx、ascx、html
業務邏輯層
1.BLL的作用
從DAL中獲取數據,以供UI顯示用。
從UI中獲取用戶指令和數據,執行業務邏輯。
從UI中獲取用戶指令和數據,通過DAL寫入數據源。
2.BLL的職責機制
UI->BLL->UI
UI->BLL->DAL->BLL->UI
數據訪問層
1.DAL的作用
從數據源加載數據(select)
向數據源寫入數據(Insert/Update)
從數據源刪除數據(Delete)
2.DAL 中常用的技術(為了和數據源打交道)
ADO.NET+SQL語句
O/R Mapping框架 Nhiberate(可跨數據庫)
訪問SQL Server數據庫時 Linq to SQL
為什么使用三層架構?
層次的目的即為了“高內聚低耦合”的思想。
三層架構優缺點?
優勢:
1、結構清晰、耦合度低;2、可維護性高,可擴展性高;3、利于開發任務同步進行;4、容易適應需求變化。5、便于團隊開發。只要各層接口在開發前規定好,那么各層可以獨立開發,進化或維護。
6、方便部署。將各層開發成組件,則可以獨立部署。
劣勢:
1、降低了系統的性能,這是不言而喻的。如果不采用分層式結構,很多業務可以直接造訪數據庫,以此獲取相應的數據,如今卻必須通過中間層來完成。
2、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。
3、增加了代碼量,增加了工作量。
總結