Если вы используете Entity Beans для доменной модели - PullRequest
4 голосов
/ 21 февраля 2011

, учитывая, что множество шаблонов проектирования устарело из-за новых улучшений в мире Java EE, DTO в значительной степени осуждаются.

Однако я не хочу, чтобы реляционная структура базы данных определяла, как клиент (веб-приложение) использует сервисы в моем EJB.Из-за того, как развиваются технологии, я вижу, что примерно через 5 лет работа над попытками переделать интерфейс стала реальностью, поскольку волоконно-оптические технологии и другие немыслимые вещи становятся реальностью.Поэтому я хочу, чтобы бизнес-логика была полностью инкапсулирована, чтобы можно было легко менять пользовательский интерфейс в любое время.

Имея это в виду, я разрабатываю чистый API для представления бизнес-модели и услуг, чтобы клиент мог использовать их вместо этого.

Однако мне все время приходится писать конвертеры для преобразования бинов сущностей в этот API.Правильно ли это делать, или я уже не инженер.

Ваши отзывы и мнения в целом приветствуются.

Примечание.В этом проекте используется полная платформа Java EE 6

1 Ответ

2 голосов
/ 21 февраля 2011

Есть противоречивые «религии» о том, как лучше поступить. Я, как и вы, предпочитаю более объектно-ориентированные решения, что означает, что строки (сущности) БД не равны объектам бизнес-домена. Итак, что делать?

Я бы порекомендовал использовать ваш типичный инструмент, например, Hibernate или Spring, чтобы заполнить сущности в вашем слое постоянства. Затем используйте посредников для перемещения состояния между БД и классами / объектами уровня домена.

HTH, марка

...