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

Для чего нужен паттерн цепочка ответственности

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

Пример:

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

public abstract void handle(Request request);

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

}

class AuthHandler extends Handler {
public void handle(Request request) {
if (request.isAuthenticated()) passToNext(request);
else throw new RuntimeException("Not authenticated");
}
}

class LoggingHandler extends Handler {
public void handle(Request request) {
System.out.println("Logging request");
passToNext(request);
}
}

text

Используется в:
- Middleware в веб-фреймворках
- Обработке событий
- Валидации данных
- Логировании
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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