一張圖帶你讀懂______ 三層架構

三層架構:軟件設計架構

三層架構(3-tier application) 通常意義上的三層架構就是將整個業務應用劃分爲:表現層(Web層)、業務邏輯層(Server層)、數據訪問層(dao層)。區分層次的目的即爲了「高內聚,低耦合"的思想。
  1、表現層(Web層):通俗講就是展現給用戶的界面,即用戶在使用一個系統的時候他的所見所得。
  2、業務邏輯層(Server層):針對具體問題的操作,也可以說是對數據層的操作,對數據業務邏輯處理。
  3、數據訪問層(dao層):該層所做事務直接操作數據庫,針對數據的增添、刪除、修改、更新、查找等。
注:(內聚:一個模塊內各個元素彼此結合的緊密程度;耦合:一個軟件結構內不同模塊之間互連程度的度量)

優缺點
  優點:
  1、開發人員可以只關注整個結構中的其中某一層;
  2、可以很容易的用新的實現來替換原有層次的實現;
  3、可以降低層與層之間的依賴;
  4、有利於標準化;
  5、利於各層邏輯的複用。
6、擴展性強。不同層負責不同的層面,如PetShop可經過簡單的配置實現Sqlserver和oracle之間的轉換,當然寫好了也可以實現B/S與C/S之間的轉換
7、安全性高。用戶端只能通過邏輯層來訪問數據層,減少了入口點,把很多危險的系統功能都屏蔽了。
8、項目結構更清楚,分工更明確,有利於後期的維護和升級
  缺點:
  1、降低了系統的性能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪數據庫,以此獲取相應的數據,如今卻必須通過中間層來完成。
  2、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,爲保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼
3、增加了代碼量,增加了工作量

在這裏插入圖片描述