持久层命名规范:DAO、Manager、...之间的区别?

9

免责声明:我几乎确定我以前看过同样的问题,但现在找不到了。如果有人找到那个问题,请给一个链接。

我听到了至少两种关于实现CRUD操作的类的最佳名称的意见:有人说DAO是一个经典的名称,每个人都知道它的含义,但其他人则说Manager更符合CRUD功能。

是否有明确的规则,应该在何时选择一个名称而不是另一个名称(或者是其他名称)?

3个回答

8

我绝对不喜欢Manager; “管理”某物可能意味着(并且被用来表示)各种各样的事情。如果您担心人们不知道DAO是什么,您可以始终拼写为“DataAccess”。但我发现DAO被广泛理解。

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


2

+1支持DAO。
“Manager”这个词过于模糊,可能适用于许多与DAO无关的事物。
例如,swing.DesktopManager、ErrorManager、FontManager、JavaFileManager、XMLEntityManager等是我IDE工作区目前可用的200多个类之一,似乎都与数据库持久性无关。


0
我认为应该使用“经理”,因为任何“假设”都可能引起混乱。在这种情况下,我认为你是假设每个人都知道DAO。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接