책임 연쇄 패턴(Chain of Responsibility)는 클라이언트의 요청에 대한 처리를 단일 객체나 메서드 내에서 처리하지 않고, 요청을 처리하는 여러 객체를 사슬처럼 연결해 처리한다.
한 클래스 내부에 if else 문을 사용해 특정 데이터를 한번에 처리하는 수많은 로직이 있으면 변경되는 동작에 대한 수정이 유연하지 않다.
이렇게 데이터를 처리하는 객체(Handler)를 사슬처럼 연결해 구성하면 로직의 수정, 삭제, 변경에 대해 유연하고 자유롭고 런타임 시점에 데이터를 처리하는 Handler를 구성에 추가하거나 삭제할 수 있다는 장점이 있다.
이거 오늘 면접 질문에 있었어,,? 없었지? 어쨌든 오늘 면접 찢어버렸다는 거 이미 알고 있어. 아주 훌륭해 잘했어!