25 мар. 2010 г.
11 нояб. 2009 г.
Карта шаблонов корпоративных приложений
Планируется еще довольно много фишек:
- Расширить набор шаблонов
- Гиперссылки на пояснения и первоисточники
- Более "тонкие" отношения между шаблонами
- Пояснения шаблонов прямо на этой схеме
12 окт. 2009 г.
Будущая карта шаблонов корпоративных приложений )))
10 окт. 2007 г.
J2EE Core Design Patterns: Dispatcher View

Outline карты:
==========================================
Dispatcher View
==========================================
-------------------------------------------------------------
1 Паттерн Dispatcher View [Core J2EE], как и паттерн Service to Worker [Core J2EE], описывает комбинацию других паттернов
каталога CoreJ2EE: Front Controller и View Helper.
Оба этих макро-паттерна описывают различные комбинации контроллера и диспетчера с представлениями и хелперами.
-------------------------------------------------------------
-------------------------------------------------------------
2 Ситуация
-------------------------------------------------------------
2.1 Система контролирует поток выполнения (application workflow или webflow) и доступ к бизнес-данным, из которых создается контент представления.
-------------------------------------------------------------
3 Задача
-------------------------------------------------------------
3.1 Задачи, решаемые шаблоном Dispatcher View - это совокупность задач, решаемых шаблонами 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 Логика управления представлениями относительно простая
4.4.1 основывается на значениях, инкапулированных в запросы
-------------------------------------------------------------
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 Service To Worker [Core J2EE]
6.2.1 Паттерн Service to Worker является комбинацией паттерна Front Controller с диспетчером и паттерном View Helper. Паттерны Service to Worker и Dispatcher View идентичны относительно включенных в них компонентов, однако отличаются разделением задач между ними. Паттерн Dispatcher View предоставляет отсрочку получения данных до этапа отработки представления. Кроме этого, в управлении представлениями диспетчер выполняет более ограниченную роль, так как выбор представления обычно уже включен в запрос.
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 предоставляет отсрочку получения данных до этапа отработки представления. Кроме этого, в управлении представлениями диспетчер выполняет более ограниченную роль, так как выбор представления обычно уже включен в запрос.
11 сент. 2007 г.
J2EE Core Design Patterns: Composite View

По многочисленным просьбам outline карты теперь дается не в виде картинки, а в текстовом.
Outline карты:
1 Ситуация
1.1 Представления содержат информацию из нескольких источников
1.2 Представления состоят из фрагментов (подпредставлений) с разной степенью частоты изменений
1.3 Над одним представлением работают несколько разработчиков
1.3.1 в том числе с разной квалификацией
2 Задача
2.1 Необходимо упростить разработку представлений
3 Требования
3.1 Различные фрагменты (подпредставления) представления могут часто меняются
3.2 Различные представления могут использовать одинаковые фрагменты (подпредставления)
3.3 Если фрагменты (подпредставления) встроены в представление на уровне исходного кода методом копирования-вставки, то поддерживать такое решение сложно
3.3.1 так же такое решение снижает uptime системы, т.к. изменения в подпредставлениях вступят в силу с запозданием
4 Результаты
4.1 Достоинства
4.1.1 Повышается модульность кода и возможности повторного использования подпредставлений
4.1.2 Повышается гибкость модификации содержимого
4.1.2.1 Как на этапе разработки
4.1.2.2 Так и при выполнении
4.1.3 Облегчается управляемость и сопровождение
4.2 Недостатки
4.2.1 Возможные накладные расходы во время выполнения
4.2.2 Компромиссные решения для обеспечения гибкости
4.2.3 Повышенные требования к содержимому подпредставлений
4.2.3.1 при некоторых реализациях подпредставление уже не содержит HTML-документ, а только его фрагмент
4.2.3.2 это необходимо отслеживать
5 Связанные шаблоны
5.1 Composite [GoF]
5.1.1 Composite View является частным случаем шаблона Composite
5.2 View Helper [Core J2EE]
5.2.1 Представление в шаблоне View Helper может использовать Composite View
9 авг. 2007 г.
J2EE Core Design Patterns: View Helper

Outline карты:

Все материалы можно найти по адресу http://courses.4shared.com/в разделе J2EE Patterns.
17 июл. 2007 г.
J2EE Core Patterns: Front Controller
Outline карты:
Все материалы можно найти по адресу http://courses.4shared.com в разделе J2EE Patterns.
14 июл. 2007 г.
J2EE Core Patterns: Intercepting Filter

Карту в увеличенном формате выложил на http://courses.4shared.com в раздел j2ee_patterns.
J2EE Core Patterns: цикл обзоров
А вот с шаблонами, применяемыми в платформе J2EE, возникает некоторый дефицит русскоязычных внятных описаний.
Посему я решил начать цикл описаний Core J2EE Patterns. Каждый пост из этого цикла будет описанием одного j2ee шаблона. Делать описание я буду в виде mind-map, стуктурном древовидном представлении. Выкладывать же эту карту я буду в png- или jpeg-форматах, если кому понадобиться исходный файл в формате MindJet MindManager 6, обращайтесь.
В качестве основы я буду брать материалы с ресурсов http://www.corej2eepatterns.com/Patterns2ndEd
и http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html, а так же книги Образцы J2EE. К сожалению, это одна из немногих книг на русском языке. Но читать её практически нереально из-за крайне убогого перевода.
Соответственно, на выходе этого цикла получится большая mind-map с русскоязычными описаниями Core J2EE Patterns. Эту карту потом можно будет использовать как шпаргалку и в процессе обучения.
Буду крайне признателен за любые замечания и предложения. В идеале, каждое описание шаблона должно вызвать дисскуссию, в процессе которой наконец-то родится истина )))




