持久层的命名约定:DAO vs Manager vs ...?

时间:2010-06-24 13:56:40

标签: java oop naming-conventions naming

免责声明:我几乎可以肯定我以前见过同样的问题,但我现在找不到它。如果有人发现了这个问题,请给出一个链接。

我听到至少有两个关于实现CRUD操作的类的最佳名称的意见:有人说DAO是一个经典名称,每个人都知道这意味着什么,但是其他人说Manager对应很多更好的CRUD功能。

当我选择一个或另一个(或另一个)名称时,是否有任何明确的规则?

3 个答案:

答案 0 :(得分:6)

我绝对不喜欢经理; “管理”某事可能意味着(并且习惯于意味着)各种各样的事物。如果你担心人们不会知道DAO的意思,你总是可以拼写为“DataAccess”,比方说。但我发现DAO被广泛理解。

另一种方法是使用Repository pattern并调用您的类SuchAndSuchRepository。这不一定与DAO(它可以包装一个或多个DAO)相同,但它可以提供一个明确命名的位置来获取您的对象 - 如果我想要一个Person对象,我知道要查找PersonRepository

答案 1 :(得分:2)

+1的DAO 经理很模糊,可以申请DAO以外的很多东西 例如swing.DesktopManager,ErrorManager,FontManager,JavaFileManager,XMLEntityManager是我目前在IDE中使用的200多个类中的一些,这些类似乎与数据库持久性无关。

答案 2 :(得分:0)

我会说经理,因为任何“假设”都会引起一些混乱。在这种情况下,我认为你假设每个人都知道DAO。