2009-07-06 116 views

回答

57

數據訪問層(DAL)是存在於業務邏輯層和持久性/存儲層之間的系統層。 DAL可能是單個類,也可能是由多個數據訪問對象(DAO)組成的。它可能在業務層的頂層與之交談,隱藏了數據訪問邏輯的複雜性。它可能是第三方的對象關係映射工具(ORM),如Hibernate。

DAL是一個體繫結構術語,DAO是一個設計細節。

+4

假設我有一個名爲DAO的接口,它有一個getCustomer()方法。該接口由SqlServerDAO-class實現。當調用getCustomer()時,SqlServerDAO從DB獲取數據,創建並返回Customer對象。在這種情況下,DAL由DAO接口和SqlServerDAO類組成,對吧? – simoraman 2009-07-07 05:54:14

11

數據訪問層將包含許多數據訪問對象。

它的主要作用是將業務邏輯從數據庫邏輯和實現中分離出來。

例如,DAL可能有一個方法,它將通過一個或多個數據訪問對象從多個表,查詢或存儲過程中檢索數據。

更改數據庫結構,DAO中,存儲過程,甚至數據庫的類型不應該承擔更改業務邏輯,這是到由DAL提供的脫鉤。