簡體   English   中英

持久層的命名約定:DAO vs Manager vs ...?

[英]Naming conventions for persistence layer: DAO vs Manager vs …?

免責聲明:我幾乎可以肯定我以前見過同樣的問題但我現在找不到它。 如果有人發現了這個問題,請給出一個鏈接。

我聽到至少有兩個關於實現CRUD操作的類的最佳名稱的意見:有人說DAO是一個經典名稱,每個人都知道這意味着什么,但是其他人說Manager更好地與CRUD功能相對應。

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

我絕對不喜歡經理; “管理”某事可能意味着(並且習慣於意味着)各種各樣的事物。 如果你擔心人們不會知道DAO的意思,你總是可以拼寫為“DataAccess”,比方說。 但我發現DAO被廣泛理解。

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

DAO +1。
經理很模糊,可以申請DAO以外的很多東西。
例如,swing.DesktopManager,ErrorManager,FontManager,JavaFileManager,XMLEntityManager是我目前在IDE中使用的200多個類中的一些,其中沒有一個類似乎與數據庫持久性有任何關系。

我會說經理,因為任何“假設”都會引起一些混亂。 在這種情況下,我認為你假設每個人都知道DAO。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM