Встречается на собеседованиях • сегодня

Что такое шаблон проектирования Chain of Responsibility

Шаблон Chain of Responsibility позволяет передавать запросы по цепочке обработчиков, пока один из них не обработает запрос. Каждый обработчик решает, обрабатывать запрос или передавать следующему в цепочке.

Пример на Java:

java
abstract class Handler {
    private Handler next;
text
public Handler setNext(Handler next) {
    this.next = next;
    return next;
}

public abstract void handle(String request);

protected void passToNext(String request) {
    if (next != null) {
        next.handle(request);
    }
}

}

class ConcreteHandlerA extends Handler {
public void handle(String request) {
if (request.equals("A")) {
System.out.println("Handled by A");
} else {
passToNext(request);
}
}
}

text

**Плюсы:**
- Уменьшает зависимость между клиентом и обработчиками
- Гибкость в добавлении новых обработчиков

**Минусы:**
- Нет гарантии обработки запроса
- Может привести к избыточности кода
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы