6 окт. 2007 г.

J2EE Core Design Patterns: Service To Worker



Outline карты:

-------------------------------------------------------------
1 Паттерн Service to Worker [CoreJ2EE], как и паттерн Dispatcher View [CoreJ2EE], описывает комбинацию других паттернов
каталога CoreJ2EE: Front Controller и View Helper.
Оба этих макро-паттерна описывают различные комбинации контроллера и диспетчера с представлениями и хелперами.
-------------------------------------------------------------

-------------------------------------------------------------
2 Ситуация
-------------------------------------------------------------

2.1 Система контролирует поток выполнения (application workflow или webflow) и доступ к бизнес-данным, из которых создается контент представления.

-------------------------------------------------------------
3 Задача
-------------------------------------------------------------

3.1 Задачи, решаемые шаблоном Service To Worker - это совокупность задач, решаемых шаблонами Dispatcher и View Helper

3.2 Введение централизованного компонента

3.2.1 для управления контролем доступа

3.2.2 для извлечения данных

3.2.3 для управления представлениями

3.3 Вынос бизнес-логики из представлений

3.4 Разделение бизнес-логики и логики управления представлениями (структурной логики)

-------------------------------------------------------------
4 Требования
-------------------------------------------------------------

4.1 Необходимо, чтобы проверки безопасности выполнялись для каждого запроса

4.2 Код скриптлетов в представлениях должен быть минимизирован

4.3 Бизнес-логика должна быть инкапсулирована не в представлениях

4.4 Бизнес-логика может быть относительно сложной, она основывается на значениях, полученных в run-time

4.5 Логика управления представлениями может быть относительно сложной, с множеством представлений, потенциально отображаемых при одном и том же запросе

-------------------------------------------------------------
5 Результаты
-------------------------------------------------------------

5.1 Централизация управления, улучшение модульности и возможностей повторного использования

5.1.1 Данный шаблон обеспечивает централизованное пространство для работы системных служб и бизнес-логики во всех запросах.
Так же при использовании централизованного управления можно ввести единую точку обработки ошибок.

5.1.2 Шаблон так же способствует разделению кода и повышению степени его повторного использования. Общий код перенесен в контроллер, где используется при обработке каждого запроса, а также в компоненты хелпера, которым контроллеры и пердставления передают свои полномочия.

5.2 Улучшение разделения ролей

5.2.1 Отделение логики форматирования, структурной логики и бизнес-логики уменьшает зависимости разработчиков, выполняющих разные роли, от одних и тех же ресурсов и друг от друга

-------------------------------------------------------------
6 Связанные шаблоны
-------------------------------------------------------------

6.1 Front Controller и View Helper [Core J2EE]

6.1.1 Паттерн Service to Worker является результатом комбинации паттернов View Helper [Core J2EE] и Front Controller [Core J2EE]

6.2 Dispatcher View [Core J2EE]

6.2.1 Паттерн Service to Worker является комбинацией паттерна Front Controller с диспетчером и паттерном View Helper. Паттерны Service to Worker и Dispatcher View идентичны относительно включенных в них компонентов, однако отличаются разделением задач между ними. Паттерн Dispatcher View предоставляет отсрочку получения данных до этапа отработки представления. Кроме этого, в управлении представлениями диспетчер выполняет более ограниченную роль, так как выбор представления обычно уже включен в запрос.

2 комментария:

Анонимный комментирует...

молодец

ekr комментирует...

спасибо )