책임 패턴의 사슬 --- 행동

 

 

사용 시나리오 :

 (1) 복수의 오브젝트가 존재하는 경우는 같은 요청을 처리 할 수 있지만, 요청이 처리되는 특정 오브젝트에 의해, 동작 시간은 동적으로 결정된다. 이러한 상황은 요청 특정 책임에 의해 처리되고,이 체인을 송신하는 경우 그 때, 책임의 체인을 형성 실행시에 동적 오브젝트 요청을 처리 할 오브젝트가 오브젝트의 책임이된다 달성하기 위해 듀티 체인을 사용하여 판단.

(2) 당신이없이 명시 적으로 수신자를 지정하려면, 당신은 책임 패턴의 사슬을 사용할 수있는 개체의 복수에 요청을 제출합니다. 의무 체인 요청자와 수신자 사이의 디커플링을 달성하기 위해, 요청자는 수신기 객체가 요청을 처리 할 수있는 알 필요가 없습니다.

(3) 는 동적 오브젝트 요청 처리 세트를 지정할 경우, 듀티 체인을 사용할 수있다. 듀티 체인 동적으로 요청들을 처리 객체 동적으로 할당 된 책임에 대응하는 동적 처리 요구에 관여하는 개체 듀티 판정 결국 즉 듀티 체인을 구축.

3 개 관련 패턴

(1) 고가 체인 기능 모드 및 결합 모드

    이 두 모드는 결합 할 수 있습니다. 책임 객체 자동 체인을 형성하기 위해 부모 구성 요소 조립체에 후속으로, 객체를 조합하여 재귀 불러 결합 모드로 결합 될 수있다. 이것은 이전에 클라이언트가 사용하는 경우, 체인 구성이지만 복합 오브젝트 트리를 구성 할 필요가 있지만, 체인을 구성 할 필요가 없다,이 경우, 기존의 외부 링크를 통해 언급 동일하다.

(2)의 듀티 체인 및 장식 패턴

    이 두 모드는 특정 각도에서, 장식 패턴의 함수에 동적 타겟 기능성 장식, 장식 오브젝트에 첨가하고, 필요한 장식 오브젝트가 같은 인터페이스를 구현할 수를 달성하기 위해 서로를 시뮬레이션 할 수 있고, 유사하다. 그리고이 객체의 처리가 종료 표준 기능이지만 동쪽을 매듭 서두르지 자신을 처리하지만, 다음을 마치면 요청하고 그 기능과 장식 패턴을 라인을 통과, 당신의 체인 모델은 책임의 역동적 인 조합을 가능하게 게시 거의 모든 역할의 기능은 장식용 물건에, 당신이 특정 기능을 달성 할 수 유사하다. 그리고 두 가지 모드의 본질도 유사하며, 모두 동적 조합 동안 실행해야합니다, 장식 패턴은 동적 조합 장식, 그리고 당신의 체인을 게시하는 우려 ​​책임 객체하지만 표준 디자인 패턴에서 요청을 처리하는 동적 조합의 체인이 두 주의 할 점 매우 다른 패턴이있다. 또, 장식 패턴은 무한 재귀 호출, 당신은 객체의 수를 가질 수있다, 첫째, 다른 목적은, 장식 패턴 투명 목적을 달성하기 위해 기능을 추가하고 체인 모델은 송신자와 수신자가 감 달성하는 것입니다 게시하는 것입니다 장식적인 기능에,하지만 당신의 작업은 체인 모드 프로세스가 종료되는 것입니다.

(3) 듀티 체인 및 전략 모드

    이 두 모드는 결합 할 수 있습니다. 체인이 거의 패턴처럼 될 객체 선택 정책을 선택할 수 있습니다 적절한 치료에 직접 작업을 단순화하기 위해, 그래서 당신은 정책의 기능을 시뮬레이션 할 책임 패턴의 사슬을 사용할 수있는 경우이 두 모델은 유사하다. 우리가이 점에 대한 책임의 체인을 단순화 경우, 체인이 그 책임의 체인을 호출 할 수 없습니다, 존재하지 않습니다. 두 가지 모드가 구현의 특정 모드를 선택하는 정책을 사용하여 한 번 듀티 의무 체인 구현 될 수 있고, 함께 사용할 수 있습니다, 같은도 기능을 달성하기 위해 의무 체인 모델을 사용하여, 정책 구현 전략 모드 일 수있다 처리. 마찬가지로 듀티 체인과 상태 패턴을 조합하여 사용할 수있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

추천

출처www.cnblogs.com/youngao/p/11401296.html