#jboss #seam
#jboss #seam
Вопрос:
У меня есть вопрос относительно лучших практик в разработке приложений с использованием JBoss Seam. Я намерен реализовать приложение на основе Seam, но я хочу, чтобы модель объекта была слабо связана. (это потому, что я хочу иметь возможность использовать его в среде, отличной от Java EE) Одно из решений, о котором я думаю, заключается в том, чтобы иметь дополнительный уровень DTO, определенный как компоненты Seam, которые я могу использовать для передачи информации между разметкой и объектами.Но я думаю, что это не элегантное решение.
Каковы наилучшие методы экстернализации модели объекта в приложении Seam, при этом имея возможность использовать большинство функций Seam?
Ответ №1:
В общем случае сущности — это просто объекты Java со свойствами, которые аннотируются (JPA). Таким образом, вам нужно беспокоиться об аннотациях JPA в качестве зависимостей, только если вы используете модель в другом приложении. Это будет только один jar с объявлениями и без последствий для времени выполнения.
Или у вас есть какие-то особые планы для сущностей в Seam, например, использовать их как компоненты сущностей (не уверен в преимуществах) и, следовательно, вводить более сложные зависимости?
Более чистым, но также и более сложным решением было бы использовать интерфейсы для определения сущности и иметь конкретные реализации для разных приложений, например, аннотированные компоненты JPA для Seam и неназванные компоненты для других приложений. Это можно сделать вручную, конечно, или с помощью фреймворка. Я использовал Eclipse EMF для создания модели JPA, которая абстрагируется интерфейсом для использования в других приложениях, но из-за способа обработки двунаправленных зависимостей EMFs по умолчанию и т.д. есть несколько предостережений.