2010-06-24 35 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多个类中的一部分,其中没有一个与数据库持久性有关。