14. Chain of Responsibility Pattern
문제 클라이언트가 숫자를 필터링하는 프로그램을 개발해달라고 요청했다. 그런데 단순히 하나의 조건만 있는 것이 아니라 여러 필터를 순서대로 처리하고 싶다고 한다. 즉 체인의 형태로 구성하는 필터를 원하는 것이다. 아주 간단하게 프로그래밍한다면 if 문으로 다 처리할 수 있겠지만 프로그램의 규모가 커지고 복잡해질수록 유지보수하기 힘들어진다. 그렇다면 이를 어떻게 해결해야 할까? 해결 방안 이러한 문제는 역할 사슬 패턴으로 효과적으로 처리할 수 있다. 체인 역할을 하는 클래스를 이해하기 쉽도록 필터라고 부르겠다. 필터 클래스는 연결 리스트를 구현할 때처럼 next라는 멤버 변수를 갖고 있다. 이를 통해서 체인을 구현할 수 있는 것이다. 정수기에서 물을 정수하기 위해 여러 가지 필터를 사용한다고 생각하면 이해하..
2021.11.14