1.數據存儲邏輯的分離
通過對數據訪問的邏輯進行抽象,爲上層結構提供抽象化數據庫訪問的接口,業務層不用關心具體的數據操作,只負責調用方法,這樣可以避免業務代碼中混雜JDBC調用語句,使得業務邏輯更加清晰,另一方面,也使得開發人員的專業劃分
2.數據庫訪問底層現實的分離
DAO模式通過將數據訪問劃分爲抽象層和實現層,從而分離了數據使用和數據訪問的底層實現細節,我們可以保持上層結構不變的情況下,改變下層的訪問數據具體機制
3.資源管理和調度的分離
DAO模式將數據訪問邏輯從業務邏輯中脫離出來,使得在數據訪問層實現統一的資源調度成爲可能,通過數據庫連接池以及各種緩存機制(Statement Cache,Data Cache等)的配合使用,往往可以在保持上層系統不變的情況下,大幅度提升系統性能
4.數據抽象
DAO模式通過對底層數據的封裝,爲業務層提供一個面向對象的接口,使得業務邏輯開發人員可以面向業務中的實體進行編碼
從某種意義上我們可以這樣理解DAO
Data Accessor Object(DAO)=Data+Accessor+domain Object