2011-02-12 74 views
9

人們對我大吼大號,我應該總是使用存儲庫模式,我已經做了很長一段時間......現在我想知道是否有任何像樣的替代品這種模式呢?存儲庫模式的替代方法?

+0

有趣。你是出於好奇還是因爲你對此感到不滿?如果是後者,爲什麼? – anon 2011-02-12 20:04:47

+0

@anon - 好奇心:) - 試圖找出哪些其他替代方案,因爲存儲庫模式似乎是最廣泛(也幾乎是唯一的)使用。 – ebb 2011-02-12 20:08:27

回答

3

那麼這裏有數據訪問對象模式,但通常位於存儲庫頂部的,並用於包裝複雜的查詢,以便它們可以簡單地作爲單一方法調用。

存儲庫爲您的數據庫提供了一個標準接口,而DAO公開標準查詢,這就是爲什麼這兩者結合在一起的原因; DAO將特定調用轉發到存儲庫。當然,你當然可以選擇不使用DAO中的存儲庫。您可以打開與數據庫的連接並直接運行查詢,或使用Table Data Gateway,但我認爲大多數人更喜歡Repository的原因是因爲它比這兩個選項要乾淨得多,儘管它們不應該大喊大叫你:)

http://en.wikipedia.org/wiki/Data_access_object

在計算機軟件,數據訪問 對象(DAO)是一個對象, 提供的抽象接口一些 類型的數據庫或持久性 機構的,提供一些特定的 操作無需暴露數據庫的詳細信息 。它提供了從應用程序調用到 持久層的映射 。這種隔離 分離的哪些數據 訪問應用程序的需求,在特定領域的對象 條款和 數據類型的關注(的 公共接口的DAO),以及如何將這些需求可以 滿足於特定的DBMS, 數據庫模式等(執行DAO的 )。這 設計模式同樣適用 絕大多數的編程語言,最 類型的軟件具有持久性 需求和大多數類型的數據庫,但 它是傳統與 Java EE應用程序,並通過 JDBC API訪問 關係數據庫相關因爲它源自Sun 微系統的最佳實踐 準則[1](「核心J2EE模式」) 該平臺。