[英]What's a good alternative, general name to the HibernateUtil class?
我有一个HibernateUtil类,这是本书中的标准( Hibernate in action
)类。
它获取一个会话,刷新并关闭它。 开始,提交和回滚事务,并建立sessionFactory。
目前,错误地在我们的程序包中将其称为HibernateSessionFactory。
我想将其重构为更合适的名称,但是名称HibernateUtil困扰我,因为我想选择一个更通用的名称,例如PersistentManagerUtil
。
关于这种名称是否存在良好的Java约定或共识?
编辑我想要更笼统的原因是我想最小化对特定ORM实现的“暴露”。 该类的大多数公共方法都将void作为返回类型,因此它们不返回Hibernate类/接口。 唯一的例外是getSession,它返回org.hibernate.Session。 我之所以想这个方向,是因为我想切换到JPA并休眠作为实现,因此有更多的自由。 为什么不将其更改为EntityManagerUtil? 就像在hibernate的文档中一样,他们说EntityManager等同于Session,而EntityManagerFactory等同于HibernateSessionFactory。
提前致谢,
以太
不要让它变得更笼统,除非该类除了与Hibernate对话外还可以做其他事情。 它在其公共API中使用Hibernate类和接口,对吗? 只要它是特定于Hibernate的(在接口和实现方面),最好以其名称让大家知道它。
HibernateUtil
听起来不错。
该类的大多数公共方法都将void作为返回类型,因此它们不返回Hibernate类/接口。 唯一的例外是getSession,它返回org.hibernate.Session。 我之所以想这个方向,是因为我想切换到JPA并休眠作为实现,因此有更多的自由。
好了,一旦摆脱了getSession
,就可以将名称更改为JpaUtil
。
您的课程是特定于Hibernate的,因此最好使用它的名称。
它是创建会话还是从其他地方获取会话? 如果创建它们,Factory也是一个好名字。 如果没有,听起来好像它管理会话,那么“ HibernateSessionManager”又如何呢?
您的名字“ HibernateUtil”太笼统了。 我总是把'util'包和类当作代码来闻。 因为设计师有很多东西,他/她不知道放在哪里,所以它们通常会弹出。 您的课程并非如此,它显然侧重于休眠会话的管理。
关于您关于现有约定或关于命名的共识的问题。 有一些准则(但您可能已经知道了):
哦,是的,我碰巧认为命名对于良好的软件设计极为重要。 但是我想这已经很清楚了(-:
编辑:响应您的编辑。 只要它返回Hibernate类型,它仍然是特定于Hibernate的。 如果您设法从Hibernate完全抽象到JPA,则可以将其命名为JpaSessionManager(如果愿意,可以命名为JPASessionManager)。 但这需要返回仅JPA的会话对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.