책임의 사슬은 무엇입니까?
CoR (Chain of Response)에는 객체 지향 디자인 패턴에서 각 엔터티의 활동과 책임을 나타내는 프로세스가 포함됩니다. 객체 지향 디자인에는 두 가지 기본 요소가 있습니다. 명령 객체 및 처리 객체. 명령 오브젝트는 처리 오브젝트에 대한 명령을 생성하고 처리 오브젝트는 처리 할 수있는 명령 중에서 선택하고 나머지는 체인의 다른 오브젝트에 전달합니다. 이것이 객체 지향 디자인의 기본 원칙이며 책임 체인의 디자인 패턴에서 어느 위치 에나 객체의 새로운 인클로저와 같이 디자인에 훨씬 더 많은 유연성이 있습니다.
객체 지향 설계의 장점은 발신자의 명령을 처리 할 객체가 많기 때문에 통신이 발신자와 수신자로 제한되지 않는다는 것입니다. 명령을 처리하기 위해 줄을 잇는 서로 다른 객체 체인이 있으며, 처리 할 수없는 경우 체인의 다음 객체로 전달할 수 있습니다. 책임 중 하나는 개체 중 하나가 명령을 수락 할 때까지 계속 진행됩니다.
책임 체인은보다 유연해야하며 체인에 새로운 핸들러 추가를 지원해야합니다. 각 처리기는 모든 작업을 수행 할 수 없으므로 전체적으로 작동 할 수있는 처리기 그룹이 있어야합니다. 체인의 끝에서도 일부 명령이 미해결 상태로 유지되므로 책임 체인에 약간의 단점이있을 수 있습니다. 이 문제를 해결하기위한 한 가지 해결책은 가능한 모든 요청에 대해 모든 핸들러를 구현하는 것입니다.
책임 사슬 시스템에서 끊어진 링크와 관련된 문제가있을 수 있습니다. 프로그래머가 명령 연결을 잊어 버린 경우 요청이 손실 될 수 있습니다. 요청 표현은 책임 사슬의 모든 구성 요소에서 사용되므로 중요합니다. CoR을 설계 할 때 발생할 수있는 또 다른 결점은 콘크리트 처리기의 일부 문제로 인해 일부 요청이 체인 끝에서 완전히 처리되지 않을 수 있다는 것입니다. 그러나 책임 사슬은 모든 관련 측면을 고려하여 신중하게 설계된 경우 구현하기에 좋은 시스템입니다.