NHibernate命名语义

时间:2012-02-14 12:25:10

标签: nhibernate naming-conventions

一个相当简单的问题,但我想知道任何使用NHibernate和存储库模式的人都知道他们的具体实现。

所以说你有IEmployeeRepository,你会说具体的存储库说:

  • NHibernateEmployeeRepository - 非常罗嗦
  • NHibEmployeeRepository
  • NHEmployeeRepository - 连续三个首都......
  • NhEmployeeRepoitory

我知道在宏观方案中它没关系,但我很想知道是否有某种标准。

干杯。

3 个答案:

答案 0 :(得分:3)

我们称之为NHibernate***Repository,因为它可能是最具描述性的。如果你有一个好马的存储库怎么办?然后它将被称为NhNhRepository。这会令人困惑。

或者,如果您不喜欢wordiness,那么另一个选择是使用命名空间,并将您的NHibernate存储库实现放在它们自己的程序集中(无论如何您应该这样做)。

然后,您的存储库可以被调用,例如, EmployeeRepository,例如,坐在CompanyName.ProductName.Data.NHibernateRepositories命名空间中。

答案 1 :(得分:1)

我不知道是否存在NHibernate的模式,但是根据约定命名代码(Clean Coder)的所有内容,您需要放置重要的名称,避免使用首字母缩略词。所以NHibernateEmployeeRepository带来​​了更多的意义,并让代码清晰。

答案 2 :(得分:1)

我避免将NHibernate添加到我的存储库的命名中,因为有时存储库最终会在不使用NHibernate的情况下访问数据。如果您想混合一些仅使用ADO.NET的遗留代码,该怎么办?然后你的命名意味着你需要一个单独的类,但是你有两个单独的类都扮演IEmployeeRepository的角色。

使用“NHibernate”这个词开始每个存储库现在可能听起来很有趣,但有一天当你拥有数百个实体时,你会畏缩它们,所有实体都有自己的标签“NHibernate”存储库。

顺便说一句。如果您要开始一个新的绿地项目,您可能想要研究存储库模式的替代方案。最近几年它已经开始失宠了。