Все ли основные шаблоны J2EE по-прежнему хороши в контексте Java EE?

С появлением Java EE и EJB 3,

  • Есть ли какие-либо из этих Core J2EE Patterns устаревают или устаревают в свете (лучших) альтернатив?

  • Есть ли новые шаблоны, которые можно было бы использовать?

Ответ 1

Адам Бьен написал превосходную книгу "Real World Java EE Patterns - переосмысление лучших практик" примерно по этому поводу (например, обновление шаблонов J2EE для Java EE 5/6). Вы можете увидеть обзор измененных и обновленных шаблонов J2EE в моем Резюме шаблонов Java EE реального мира.

Ответ 2

Некоторые шаблоны, такие как Session Facade, все еще имеют смысл для меня. Мы по-прежнему должны заботиться об общественных интерфейсах, и сосредоточиться на Facade полезно для этой цели. "Сессия" имеет тенденцию быть менее заметной, потому что мы просто можем аннотировать POJO, чтобы получить EJB, но "Фасад" имеет решающее значение.

Локатор сервисов был помещен в подход подбора на основе аннотаций для доступа к ресурсам. Так что это не так важно, как более красиво завернутый в инфраструктуру Java EE.

Объекты передачи данных менее широко используются, JPA-аннотированные POJO, заменяющие Entity Beans, довольно часто используются. В этой области есть некоторые дебаты, в некоторых сценариях DTO могут по-прежнему быть полезными, но в простых случаях они, вероятно, не нужны, и, следовательно, может быть меньше использования связанных шаблонов, таких как Transfer Object Assembler.