NHibernate命名语义

NHibernate命名语义,nhibernate,naming-conventions,Nhibernate,Naming Conventions,这是一个相当简单的问题,但我想从任何使用NHibernate和存储库模式的人那里了解他们的具体实现的名称 假设你有IEEmployeeRepository,你能说出你的具体存储库吗 nhibernateeemployeerepository-非常冗长 NHibEmployeeRepository nEmployeeRepository-连续三个大写字母 NhEmployeeRepoitory 我知道在大计划中这并不重要,但我很想知道是否有某种标准 干杯。我们称之为我们的NHibernate*

这是一个相当简单的问题,但我想从任何使用NHibernate和存储库模式的人那里了解他们的具体实现的名称

假设你有
IEEmployeeRepository
,你能说出你的具体存储库吗

  • nhibernateeemployeerepository
    -非常冗长
  • NHibEmployeeRepository
  • nEmployeeRepository
    -连续三个大写字母
  • NhEmployeeRepoitory
我知道在大计划中这并不重要,但我很想知道是否有某种标准


干杯。

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

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


然后,您的存储库就可以被调用,例如,
EmployeeRepository
,并位于
CompanyName.ProductName.Data.NHibernateRepositories
名称空间中。我们称我们的
NHibernate***存储库
,因为它可能是最具描述性的。如果你有一个好马的仓库呢?然后它将被称为NHRepository。这会让人困惑

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


然后,您的存储库就可以被调用,例如,
EmployeeRepository
,并位于
CompanyName.ProductName.Data.NHibernateRepositories
名称空间中。例如,

我不知道是否存在NHibernate的模式,但基于命名所有代码的约定(干净的编码者),你需要使用重要的名字,避免使用首字母缩略词。因此,NHibernateeEmployeeRepository带来了更多的意义,让代码更清晰。

我不知道NHibernate是否存在一种模式,但根据命名代码中所有内容的惯例(干净的编码者),您需要使用重要的名称,避免使用首字母缩略词。因此,NHibernateeEmployeeRepository带来了更多的意义,让代码更清晰。

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

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


顺便说一句,如果你要开始一个新的绿地项目,你可能想研究存储库模式的替代方案。在过去的几年中,它开始不受欢迎。

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

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


顺便说一句,如果你要开始一个新的绿地项目,你可能想研究存储库模式的替代方案。在过去的几年中,它已经开始不受欢迎。

干杯,全名为NHibernate***存储库。干杯,全名为NHibernate***存储库。cbp,这是一个绿地项目。对于您使用的存储库模式的替代方案,您有什么建议吗?我很想听听你的经历。嗨,我建议你从这篇文章开始:但要跟随围绕它的对话。目标是消除存储库创建的不必要的抽象层——您的ORM已经提供了您需要的所有抽象。现在我们有了MVC、内存数据库、LINQ、成熟的ORM等。过去需要的存储库抽象层不再需要那么多了。cbp,这是一个绿地项目。对于您使用的存储库模式的替代方案,您有什么建议吗?我很想听听你的经历。嗨,我建议你从这篇文章开始:但要跟随围绕它的对话。目标是消除存储库创建的不必要的抽象层——您的ORM已经提供了您需要的所有抽象。现在我们有了MVC、内存数据库、LINQ、成熟的ORM等。过去需要的存储库抽象层不再需要那么多了。