Шаблон перехватчика

редактировать
Пример перехватчика

В области разработки программного обеспечения шаблон перехватчика - это шаблон разработки программного обеспечения, который используется, когда программные системы или фреймворки хотят предложить способ изменить или расширить свой обычный цикл обработки. Например, (упрощенная) типичная последовательность обработки для веб-сервера состоит в том, чтобы получить URI от браузера, сопоставить его с файлом на диске, открыть файл и отправить его содержимое в браузер. Любой из этих шагов можно заменить или изменить, например путем замены способа сопоставления URI с именами файлов или путем вставки нового шага, который обрабатывает содержимое файлов.

Ключевыми аспектами шаблона является то, что изменение прозрачно и используется автоматически. По сути, остальной части системы не нужно знать, что что-то было добавлено или изменено, и она может продолжать работать, как прежде. Чтобы облегчить это, должен быть реализован предопределенный интерфейс для расширения, требуется какой-то механизм диспетчеризации, в котором регистрируются перехватчики (это может быть динамическое, во время выполнения или статическое, например, через файлы конфигурации) и предоставляются объекты контекста, которые позволяют доступ к внутреннему состоянию фреймворка.

Использование и контекст

Типичными пользователями этого шаблона являются веб-серверы (как упомянуто выше), объектно-ориентированное и промежуточное ПО, ориентированное на сообщения

Примером реализации этого шаблона является интерфейс javax.servlet.Filter, который является частью Java Platform, Enterprise Edition.

Аспектно-ориентированное программирование (AOP) также может использоваться в некоторых ситуациях для обеспечения возможности перехватчика, хотя АОП не использует элементы, обычно определенные для шаблона перехватчика.

Ссылки

Последняя правка сделана 2021-05-24 04:09:07
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте