三層結構
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
三層結構是在客戶端與資料庫之間加入了一個中間件層,也叫組件層。這裡所說的三層體系,不是指物理上的三層,不是簡單地放置三台機器就是三層體繫結構,也不僅僅有B/S應用才是三層體繫結構,三層是指邏輯上的三層,即使這三個層放置到一臺機器上。三層體系的應用程式將業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。通常情況下,客戶端不直接與資料庫進行交互,而是通過COM/DCOM通 訊與中間層建立連接,再經由中間層與資料庫進行交換。
三層結構包含:表示層(USL),業務邏輯層(BLL),數據訪問層(DAL)
1:數據訪問層:主要是對原始數據(資料庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據的操作,而不是資料庫,具體為業務邏輯層或表示層提供數據服務。
2:業務邏輯層:主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。
3:表示層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx,如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。
1:數據訪問層:主要看你的數據層裡面有沒有包含邏輯處理,實際上他的各個函數主要完成各個對數據文件的操作,而不必管其他操作。
2:業務邏輯層:主要負責對數據層的操作,也就是說把一些數據層的操作進行組合。
3:表示層:主要對用戶的請求接受,以及數據的返回,為客戶端提供應用程式的訪問。
優點:
1、無需開發客戶端軟體,維護和升級方便。
2、可跨平臺操作。
3、具有良好的開放性和可擴充性。
4、便於資料庫移植。
5、安全性好
6、資源重用性好。
缺點:
1、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。
2、相對於不分層的編程方法,使用三層或多層架構的應用於程式運行效率低,代碼量大,難度增加。