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