Rambler's Top100
Почему ...?
Почему есть смысл явно использовать Home interface, хотя в спецификации EJB 3 это не требуется?
Время - деньги!

Time is money!

  Rambler's Top100 Rambler's Top100
rte1

Как правило, для того, чтобы подчеркнуть предназначение класса, разработчики включают те или иные слова в их названия.
Для классов, реализующих какой-либо паттерн, название паттерна включается в название класса, например,
для именования порождающих паттернов используют названия EnchantedRoomBuilder или MotifWidgetFactory.

Для обозначения класса, экземпляр которого является синглетоном(Singleton), порождающим (FactoryMethod) экземпляр класса (назовем его "TargetDomainClass"),
являющимся моделью некоторой предметной области часто используется имя "TargetDomainClassHome".


Так же Home используется в некоторых каркасах приложений, в том числе в Enterprise Java Beans (EJB) v 2.
В спецификации EJB2 для получения ссылки на серверный компонент(Bean) необходимо было описать "Home интерфейс", порождающий экземпляр компонента.
Данное требование было обусловлено техническими возможностями и ограничениями платформы Java SE на тот момент.
В частности, если архитектура конкретного приложения предполагала использование вышеупомянутого порождающего паттерна,
к примеру, предполагалось построение удаленного Home-интерфейса, порождающего объекты типа DTO(Data Transfer Object),
то в системе, как бы это смешно не выглядело, должно было быть два Home-интерфейса, например,
ConfigurationItemHome и ConfigurationItemHomeHome.

К сожалению, при распространении технологии J2EE(Java 2 Enterprise Edition) в широких масштабах, среди рядовых разработчиков возник неверный стереотип:
"наличие слова Home ≅ связь с EJB2".
Тем не менее слово Home является весьма удобным для именования классов при реализации порождающих паттернов и отказываться от него было бы довольно жалко.
Вывод: не выносите поспешных решений относительно той или иной технологии услышав всего одно знакомое слово - можете пропустить именно то, что вам нужно.

 




Что такое EJB (Enterprise Java Beans)

ERP системы с открытыми кодами


OpenSource