ЦЕПОЧКА ОБЯЗАННОСТЕЙ ПАТТЕРН PHP
Цепочка обязанностей (Chain Of Responsibility) — это поведенческий шаблон проектирования, который позволяет передавать запросы последовательно по цепочке обработчиков, пока один из них не обработает запрос.
В PHP цепочка обязанностей может быть реализована через создание цепочки объектов с общим интерфейсом.
Пример кода:
abstract class Handler { protected $nextHandler; public function setNextHandler(Handler $handler) { $this->nextHandler = $handler; } abstract public function handle($request);}class ConcreteHandler1 extends Handler { public function handle($request) { if ($request === 'request1') { // обработка запроса } elseif($this->nextHandler !== null) { $this->nextHandler->handle($request); } }}class ConcreteHandler2 extends Handler { public function handle($request) { if ($request === 'request2') { // обработка запроса } elseif($this->nextHandler !== null) { $this->nextHandler->handle($request); } }}
В этом примере, у нас есть базовый класс Handler, который задает общий интерфейс для обработчиков, и два конкретных класса обработчиков ConcreteHandler1 и ConcreteHandler2. Эти классы могут обрабатывать запросы, если они соответствуют заданным критериям, и, если условия не выполняются, передают запрос дальше по цепочке обработчиков.
Шаблоны Java. Chain of Responsibility (Цепочка ответственности).
Урок 12. Цепочка обязанностей (Chain of responsibility)
№36 - Delegate в Swift - Главный паттерн в iOS?
PHP 8.0 - 8.2 - Производительность и фичи
Цепочка обязанностей (chain of responsibility). Шаблоны проектирования.
Шаблон \
JavaScript Паттерны #15 - Chain of Responsibility (Цепочка обязанностей)
Паттерн Фабрика на реальном примере в PHP
GoF. Цепочка обязанностей
Шаблоны проектирования: Цепочка обязанностей (Chain Of Responsibility)