三層結構
三層結構
三層結構解釋 所謂三層體系結構,是在客戶端與資料庫之間加入了一個中間件層,也叫組件層。這裡所 說的三層體系,不是指物理上的三層,不是簡單地放置三台機器就是三層體系結構,也 不僅僅有B/S應用才是三層體系結構,三層是指邏輯上的三層,即使這三個層放置到一 台機器上。三層體系的應用程序將業務規則、數據訪問、合法性校驗等工作放到了中 間層進行處理。通常情況下,客戶端不直接與資料庫進行交互,而是通過COM/DCOM通 訊與中間層建立連接,再經由中間層與資料庫進行交換。
理解三層結構
我們用三層結構主要是使項目結構更清楚,分工更明確,有利於後期的維護和升級。三層結構包含:表示層(USL),業務邏輯層(BLL),數據訪問層(DAL)
數據訪問層:主要是對原始數據(資料庫或者文本文件等存放數據的形式)的操作層,而不是指原始數據,也就是說,是對數據的操作,而不是資料庫,具體為業務邏輯層或表示層提供數據服務。
業務邏輯層:主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理,如果說數據層是積木,那邏輯層就是對這些積木的搭建。
表示層:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表現成:aspx,如果邏輯層相當強大和完善,無論表現層如何定義和更改,邏輯層都能完善地提供服務。
1:數據訪問層:主要看你的數據層裡面有沒有包含邏輯處理,實際上他的各個函數主要完成
各個對數據文件的操作。而不必管其他操作。
2:業務邏輯層:主要負責對數據層的操作。也就是說把一些數據層的操作進行組合。
3:表示層:主要對用戶的請求接受,以及數據的返回,為客戶端提供應用程序的訪問。
完善的三層結構的要求是:修改表現層而不用修改邏輯層,修改邏輯層而不用修改數據層。否則你的應用是不是多層結構,或者說是層結構的劃分和組織上是不是有問題就很難說。不同的應用有不同的理解,這是一個概念的問題。以下是一些個人的感想。是的,這是一個比較抽象的問題,但是看看應能明白了。業務邏輯層,就是把你的代碼中大量出現的組合成一個函數,以後當你需要使用這些代碼時,直接調用函數即可。比如.NET中有大量連接資料庫的代碼(基本上都差不多),我們就可以直接用一個用戶控制項來定義一下這樣代碼。以後當我們要連接資料庫時,直接調用這些函數就可以了。這些東西就可以叫做邏輯或者中間件。以後我們修改資料庫的連接代碼時,直接修改這些用戶控制項就可以了。
三層結構不是.NET的專利,也不是專門用在資料庫上的技術。它是一種更加普適的架構設計理念。數據-邏輯-界面。在實際應用中還會根據需要多出傳遞數據的層,介面層等等。
1、無需開發客戶端軟體,維護和升級方便。
2、可跨平台操作。
3、具有良好的開放性和可擴充性。
4、便於資料庫移植。
5、安全性好
6、資源重用性好。
有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和數據訪問層中都增加相應的代碼。
相對於不分層的編程方法,使用三層或多層架構的應用於程序運行效率低,代碼量大,難度增加。
1、表現層(UI):通俗講就是展現給用戶的界面,即用戶在使用一個系統的時候他的所見所得。
2、業務邏輯層(BLL):針對具體問題的操作,也可以說是對數據層的操作,對數據業務邏輯處理。
3、數據訪問層(DAL):該層所做事務直接操作資料庫,針對數據的增添、刪除、修改、查找等。