반응형

책임 연쇄 패턴이란, 자신에게 넘겨진 파라미터에 대하여, 자신이 할 수 있는 행동을 한 뒤, 다음 순서로 넘기는 것을 말한다.


간단한 예로, 회사의 결제 시스템과 같은 역할이다.


신입 사원이 휴가를 가기 위해 휴가서를 제출한다.

이 때의 휴가서는 넘겨지는 파라미터가 되고, 행동승인이 될 것이다.


회사에 있는 직급은 [신입 사원->대리->과장->차장->사장] 이라고 가정한다.

휴가서에는 [차장, 사장] 의 승인만을 필요로 한다.


신입 사원이 대리에게 휴가서를 넘긴다.

대리는 자신의 승인이 필요 없으므로 과장에게 휴가서를 넘긴다.

과장은 자신의 승인이 필요 없으므로 차장에게 휴가서를 넘긴다.

차장은 승인을 하고 사장에게 넘긴다.

사장은 승인을 한다.


이 행동 패턴을 책임 연쇄 패턴이라고 한다.


확인->전달


이 두가지만 기억하면 된다.


아래의 예로는, 캐릭터를 생성했을 때, 종족에 따라 초보자 마을으로 보내줄 때, 초보자 마을을 확인하는 클래스를 해당 패턴으로 만들었다.


책임 연쇄 패턴은 대게 연결 리스트 구조로 이루어져 있다.


마을 클래스들이 각 각 다음 노드를 기억하여, 자신의 마을에 해당하지 않으면 다음 노드가 존재하지 않을 때까지 파라미터를 전달하는 역할을 한다.





반응형

+ Recent posts