Session Facade в мире Spring / Hibernate - все еще актуально? - PullRequest
1 голос
/ 16 августа 2011

Как бы мы внедрили шаблон проектирования Session Facade в приложение Spring?Будет ли роль фасада сеанса просто обслуживаться классом служебного компонента, который будет аннотирован для транзакций и будет иметь область сеанса?

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Служба Spring (с одноэлементной областью) похожа на локальный сессионный компонент без сохранения состояния, это реализация шаблона Session Facade, только для приложений, которые не распространяются.Spring действительно доказывает, что в большинстве случаев сервисы не нуждаются в распределении, и что распределенные аспекты фасада Session не настолько распространены, как это сделал J2EE.

(Когда вы говорите «область действия сеанса», это звучит так, как будто вы путаете сеанс, как в транзакционном сеансе, так и в HttpSession, потому что Spring использует термин «область сеанса» для ссылки на HttpSessions. (По крайней мере, меня смущаетчто задумано.) Мое чтение описания фасада Session заставляет меня думать, что оно не имеет никакого отношения к HttpSession.)

В любом случае, я бы сказал, что основная цельИнкапсулирующая сложность все еще действительна.В некоторых случаях цель предоставления распределенного доступа все еще очень актуальна, просто это не тот случай по умолчанию, как J2EE пытался это сделать.И Seam доказывает, что сессионные компоненты с сохранением состояния остаются актуальными.

0 голосов
/ 16 августа 2011

Сеанс должен быть связан с веб-уровнем, а не с сервисами.

Сервисы действительно имеют собственные транзакции, поэтому они должны иметь эту аннотацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...