Казахстан, Караганды, Карагандинский экономический университет, 2009 |
Архитектурные шаблоны проектирования
Архитектурные шаблоны централизованного управления
Архитектурные шаблоны централизованного управления относятся к типам шаблонов, которые предлагают централизованный способ организации логики выполняемых программных продуктов.
Паттерны этой категории содержат описание механизмов единого унифицированного управления, основанного на структурных особенностях поэтапного выполнения программ. Эти шаблоны выполняют роль "мозгового центра" проектируемого программного продукта.
Сценарий транзакций
Современные корпоративные информационные системы обладают большим количеством компонентов и громоздкой иерархической структурой их взаимосвязей.
Вызов процедур, как правило, осуществляется "сверху вниз". Управление начинается на вершине иерархии и через вызовы передается на нижние уровни.Подобный способ управления хорошо зарекомендовал себя в программных продуктах, в которых процессы запускаются и выполняются последовательно, в соответствии с условиями их функционирования.
Применение шаблона "Сценарий транзакций" способствует сохранению целостности, прозрачности, предсказуемости создаваемого программного обеспечения."Сценарий транзакции"целесообразно рассматривать как механизм организации бизнес-логики ("Модель предметной области").
"Сценарий транзакций"– процедура, которая получает на вход информацию от слоя представления, обрабатывает ее, производя необходимые проверки и вычисления, сохраняет в базе данных и активизирует операции других слоев.
В качестве основных недостатков можно выделить сложность выявления и обработки исключительных ситуаций. Сценарий транзакции не годится для организации "запутанной"бизнес-логики.
Диспетчер
Этот шаблон организации систем предусматривает создание системного компонента, который назначается диспетчером, то есть отвечает за управление и координацию выполнения процессов, исполняемых в программном продукте. При этом нет ограничений на способы выполнения процессов ("последовательно", "параллельно" и пр.).
Паттерн, как правило, применяется в системах, для которых необходимо повысить их общую производительность за счет "запараллеливания" процессов, но может использоваться и для последовательной обработки (управляющая программа или диспетчер вызывает отдельные подсистемы в зависимости от значений некоторых переменных состояния).
Одним из главных недостатков применения шаблона "Диспетчер" является рекомендация по использованию в так называемых "мягких" системах реального времени (нет строгих временных ограничений).
Применение "Диспетчера" целесообразно в тех случаях, когда группа разработки полностью понимает и имеет различные способы воздействия на все программные компоненты (система представляет собой "прозрачный" ящик).
Архитектурные шаблоны управления по событиям
Управление по событиям является способом координации потока(ов) информации и ее последующей обработки в зависимости от факторов и условий, значимых для достижений конечного результата деятельности программного приложения.
Шаблоны управления по событиям помогают в разработке логики, автоматизирующей значимые функции, возникающие при наступлении или отсутствии определенных бизнес-сигналов.
Передача сообщений
Данный шаблон проектирования транслирует каждое обрабатываемое событие в виде передачи сообщений всем заинтересованным подсистемам, которые обрабатывают событие и при необходимости отвечают на него. Шаблон "Передача сообщений" получил особую популярность при реализации систем, обрабатывающих сложную и разрозненную бизнес-логику.
Логика исполнения основана на сетевом взаимодействии различных участников автоматизируемого процесса.Сферы ответственности участников достаточно независимы друг от друга. Конечный результат обработки определяется вкладом каждого из участников.
Управление прерываниями
Шаблон "Управление прерываниями" применяется в основном в системах реального времени со строгими временными требованиями на обработку поступающих извне сообщений, когда необходима быстрая реакция системы на зафиксированное событие.
Использование данного шаблона предусматривает регистрацию возникающих прерываний специализированным обработчиком. После чего наступает стадия непосредственной обработки, которая должна выполняться другим системным компонентом.
Шаблон "Управление прерываниями" очень часто используют вместе с шаблоном "Диспетчер". В случае штатного функционирования система управляется посредством "Диспетчера", а в критических ситуациях используется управление, основанное на прерываниях. Основной недостаток подобного комбинирования шаблонов состоит в том, что система сложна в программировании и последующем тестировании. Если уделить внимание основным сложностям, то они состоят в имитации всех возможных прерываний, которые должны быть известны априори.