요약
요청을 처리할 수 있는 기회를 하나 이상의 객체에게 부여함으로써 요청하는 객체와 처리하는 객체 사이의 결합도를 없애려는 것이다. 요청을 해결할 객체를 만날 때까지 객체 고리를 따라서 요청을 전달한다.(GoF)
한 요청을 두개 이상의 객체에서 처리하고 싶다면 역할 사슬 패턴을 사용하면 됩니다.
구조예시
잡설
장단점
장점
- 요청을 보낸 쪽하고 받는 쪽을 분리시킬 수 있습니다.
- 객체에서는 사슬의 구조ㅓ를 몰라도 되고 그 사슬에 들어 있는 다른 객체에 대한 직접적인 레퍼런스를 가질 필요도 없기 때문에 객체를 단순하게 만들 수 있습니다.
- 사슬에 들어가는 객체를 바꾸거나 순서를 바꿈으로써 역할을 동적으로 추가/제거할 수 있습니다.
단점
- 요청이 반드시 수행된다는 보장이 없을 수 있습니다.
- 실행시에 과정을 살펴고거나 디버깅 하기가 힘들 수 있습니다.