суббота, 6 ноября 2010 г.

Патерны в Java EE

MVC тут представлен в двух видах:
1) Model1
2) Model2.

Роль View в обеих играют JSP, роль Model - JavaBeans. А вот Controller у второго это Servlet, а у первого JSP. Из-за перешивания логики с дизайном первая модель применяется редко.


Контроллер выбирает, какой вью будет представлять модель, выбор осуществляется через Request Dispatcher:

RequestDispatcher dispatcher = request.getRequestDispatcher(jspName);
        dispatcher.forward(aRequest, aResponse);

В WEB MVC получил признание шаблон FrontController, его суть в том, что все запросы проходят через одно место преложения. Существует несколько стратегий реализации Front Controller в Java:
  1. Servlet Front (это Model2), если еще диспетчиризация полсностью решается внутри этого сервлета, то это подвид Servlet Front - Dispetcher in Controller
  2. JSP Front (это Model1).
  3. Mapping Controller.
    •  Physical Resource Mapping;
    •  Logical Resource Mapping;
    •  Multiplexed Resource Mapping;
  4. Filter Controller - диспетчеризацию выполняют фильтры.
  5. Command and Controlle.
В Java на приктике используется комбинация этих стратегий для реализации Font Controller.

JavaBean - это любой класс Java, который все свои атрибуты держит закрытыми.  К тем отрибутам, что имеют доступ на чтения, определяют геттеры, а к тем, что имеют доступ на запись, - сеттеры. Имеют в обязательном порядке конструктор с нулевыми параметрами. Enterprise JavaBeans, на сколько я понял, еще и имеют реализованный механизм оповещения о событиях, произошедших по изменению состояния бина.

Комментариев нет:

Отправить комментарий