2012-10-12 59 views
1

我想知道什麼是Spring DAO的典型用例,我們可以輕鬆地在不同的持久性框架之間切換。Spring DAO的用例

除了抽象鍋爐代碼(對於JDBC,Hibernate類似)爲什麼任何應用程序想要如此頻繁地更改其ORM框架?

回答

2

通過使用具有不同DAO接口的DAO模式,可以讓您模擬DAO實現。有了這個,您可以提高代碼的可測試性,因爲您可以編寫不需要數據庫訪問的測試。

它不僅是經常能夠在ORM框架之間切換,而且也是關於減少努力,如果您是強制執行來更改ORM。

另一個原因是,您可能擁有不同的數據源,例如數據庫,web服務或文件系統。在這種情況下,您不會抽象ORM,而只是簡單地使用持久性機制。

1

我認爲DAO背後的真正重要思想是,您只有一個位置,即特定實體的所有與數據訪問相關的代碼都位於該位置。這使得您的持久層的測試和重構更容易,並且您的代碼具有更好的可讀性。

此外,它使代碼更好的可讀性。想想你的團隊中應該實現一項功能的新開發人員。如果她需要訪問數據庫,她會查看dao的數據訪問方法。 如果您將數據訪問代碼分散到不同的服務中,那麼有人會產生代碼重複的風險非常高。