Ваш класс специфичен для Hibernate, поэтому хорошо иметь его в своем названии.
Создает ли он сеансы или получает их откуда-то еще?Если это создает их, Фабрика также хорошее имя.Если нет, то похоже, что он управляет сессиями, так как насчет 'HibernateSessionManager'?
Ваше имя 'HibernateUtil' во всяком случае слишком общее.Я всегда принимаю 'util' пакеты и классы как запах кода;они обычно появляются, потому что у дизайнера было множество вещей, которые он / она не знал, куда положить.Ваш класс не такой, очевидно, он фокусируется на управлении сессиями гибернации.
Что касается вашего вопроса о существующих соглашениях или консенсусе по поводу именования.Есть некоторые рекомендации (но вы, вероятно, уже знаете их):
- методы должны отражать действие в классе, в котором они находятся, и, если возможно, иметь логический порядок аргументов.Пример: ChessBoard.swapPlayers (Player a, Player b)
- для методов, возвращающих логическое значение, используйте предикат наподобие isActivation или hasPlayers
- другой стиль - это сцепление методов, где цепочечные методы читаются немного какпредложение на английском языке: verify (mockedList, atLeastOnce ()). add ("три раза");( mockito )
- JavaDoc для методов должен описывать действие, например: поменять местами игроков A и B, чтобы они продолжили игру с фигурами друг друга ".
- классы должны представлять «вещь» с четкой ответственностью. Примеры: StringBuilder, Customer, PdfServlet. Если вторичная ответственность переходит в класс, это обычно означает, что ее следует реорганизовать в два сотрудничающих класса.
- JavaDoc onклассы должны описывать «вещь» и ее основную ответственность. Поведение должно быть описано, если это ценная информация для клиента. Детали реализации обычно не должны описываться в общедоступном JavaDoc.
О, да, иМне кажется, что наименование чрезвычайно важно для хорошего проектирования программного обеспечения. Но я думаю, что это уже было ясно (-:
РЕДАКТИРОВАТЬ: в ответ на ваше редактирование. Пока оно возвращает тип Hibernate, оно все еще Hibernateконкретный. Если вам удастся полностью абстрагироваться от Hibernate, в сторону JPA, тогда было бы целесообразно назвать его JpaSessionManager (или JPASessionManager, если вы предпочитаете), например.Но для этого потребуется вернуть объект сеанса только для JPA.