DAO (Data Access Object )是訪問數據的對象,它不但屏蔽了不一樣的數據存儲介質(數據庫、文件或 LDAP 等),也屏蔽了具體的實現技術 。數據庫
咱們只要爲數據訪問定義好 DAO 接口,而後使用具體技術來實現 DAO 接口,就能夠平滑地切換這些不一樣的實現技術啦O(∩_∩)O~單元測試
業務層經過 DAO 接口來訪問數據,這樣就實現了業務層與 DAO 層具體持久化技術之間的解耦,好比下圖中的 RoleService 經過 RoleDao 接口來訪問角色數據對象:測試
抽象出 DAO 層有這些優勢:代理