網 上 書 城
1.3為什么使用三層架構
- 使用三層架構的目的:解耦!!!
- 同樣拿上面飯店的例子來講:
- 服務員(UI層)辭職——另找服務員;廚師(BLL層)辭職——招聘另一個廚師;采購員(DAL)辭職——招聘另一個采購員。
- 顧客反映:店里服務態度不好——服務員的問題,開除服務員;店里菜里有蟲子——廚師的問題,換廚師。
- 任何一層發生變化都不會影響到另外一層!!!
1.4三層與一層的區別
一層:
- 當任何一個地方發生變化時,都需要重新開發整個系統。“多層”放在一層,分工不明確,耦合度高——難以適應需求變化,可維護性低、可擴展性低。
三層:
- 發生在哪一層的變化,只需更改該層,不需要更改整個系統。層次清晰,分工明確,每層之間耦合度低——提高了效率,適應需求變化,可維護性高,可擴展性高。
1.5三層架構的優勢和劣勢
- 優勢:
- 結構清晰、耦合度低
- 可維護性高,可擴展性高
- 利于開發任務同步進行
- 容易適應需求變化
- 劣勢:
- 降低了系統的性能。這是不言而喻的。如果不采用分層式結構,很多業務可以直接造訪數據庫,以此獲取相應的數據,如今卻必須通過中間層來完成。
- 有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。
- 增加了代碼量,增加了工作量。