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