2010-06-24 67 views
6

免責聲明:我幾乎可以肯定,我以前見過同樣的問題,但現在找不到它。如果有人發現這個問題,請給出鏈接。持久層的命名約定:DAO vs Manager vs ...?

我聽說至少有兩個關於實現CRUD操作的類的最佳名稱的觀點:有人說DAO是一個古典名稱,每個人都知道它的含義,但也有人說Manager對應CRUD功能要好得多。

當我選擇一個或另一個(或另一個)名稱時,是否有任何明確的規則?

回答

6

我絕對不喜歡經理; 「管理」一些東西可能意味着(並且被用來表示)各種各樣的東西。如果你害怕人們不知道DAO的含義,那麼你總是可以將其拼寫成「DataAccess」。但是我發現DAO被廣泛理解。

另一種方法是使用Repository pattern並調用您的類SuchAndSuchRepository。這與DAO(它可能包裝一個或多個DAO)不一定是一回事,但它可以提供一個明確命名的地方來獲取您的對象 - 如果我想要一個Person對象,我知道要查找PersonRepository 。

0

我會說經理,因爲任何「假設」都可能導致一些混亂。在這種情況下,我認爲你假設每個人都知道DAO。

2

DAO的+1。
經理是模糊的,可以應用於DAO以外的許多事情。
例如swing.DesktopManager,ErrorManager,FontManager,JavaFileManager,XMLEntityManager是當前在我的IDE中可用的200多個類中的一部分,其中沒有一個與數據庫持久性有關。