Обмен технологиями

Модель цепочки ответственности программного обеспечения

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Целью шаблона цепочки ответственности в шаблоне проектирования является разделение отправителя и получателя запроса, чтобы несколько объектов имели возможность обрабатывать запрос. Эти объекты соединяются в цепочку и запрос передается по цепочке до тех пор, пока объект его не обработает.

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

То же самое справедливо и для модели цепочки ответственности. Запрос отправляется и обрабатывается по одному объекту, пока последний объект не будет обработан и остановлен.

Обработчик: интерфейс доставщика, определяет интерфейс для обработки запросов.

ConcreteHandler: конкретный поставщик, который обрабатывает запросы, за которые он отвечает. Следующий объект в цепочке доступен, и если запрос может быть обработан, он обрабатывается, в противном случае запрос пересылается преемнику.

Клиент: клиентское приложение, которое делает первоначальный запрос к объекту в цепочке.