누군가는 이러한 패턴 내 머리에 혼란을 나를 지워주십시오 (Chain of Responsibility와 같은 명령 사슬의 예)와 다른 사슬 사이트가 아닙니다. COMMAND의어떤 경우에 사슬의 명령 디자인 패턴이 적용 가능합니까?</strong></li> <li><strong>책임의 체인</strong></li> </ul> <p>내가 본 사이트하는 모두가 명령의</p> <ul> <li><strong>체인 :
CHAIN :
이
내가 각각에 대해 이해하는 것입니다클래스는 이제 속성이 클래스의 인스턴스 "명령"의 목록을 들고, CommandChain를 호출 할 수있는 동일한 인터페이스를 구현하십시오. 그들은 모두 onCommand (command, arguments)를 구현해야한다고 가정 해보십시오.
CommandChain에는 새로운 명령을 등록하는 addCommand() 메소드와 명령 이름과 매개 변수를 승인하는 runCommand() 메소드가 있습니다. 이 메소드는 응답 중 하나가 응답 할 때까지 명령 목록을 반복하고 해당 조치를 수행 한 다음 ok를 보냅니다. 책임 제가 일부 사이트에서 본 적이있는 것처럼
의
체인이이 차이가, 거의 같은 것이다 : 대신 루프에 명령의 목록을 저장하는 클래스를 갖는 통해, 각 명령 인스턴스는 다음 명령 인스턴스에 대한 참조를 저장합니다.
이렇게 두 디자인 패턴이 다르기에 충분히 큰 차이점이 있습니까?
실제로 어떤 경우에 해당합니까?
첫 번째 핸들러는 메인 클래스의 속성에 핸들러를 저장하고 두 번째 모든 핸들러에는 다음 핸들러에 대한 참조가 포함되어 있어도 동일한 동작을합니다. 나는 이것이 다른 패턴을 고려하기 위해 결정적 일 수도 있다고 생각했다. 어떤 구현 방법이 더 좋을까요? 그리고 제가 Atul에게 물어 본 것처럼 : 웹 개발의 일반적인 경우가이 패턴을 적용 할 수 있습니까? –
처리기 수를 설정하고이를 설정할 때 경향이있는 경우 핸들러를 배열로 할당 할 수 있으므로 성능 관점에서 처리기 수와 같은 구현이 바람직합니다. 이렇게하면 참조 pr에 대한 포인터가 저장됩니다. 매니저. 패턴의 적용 가능성에 관해서는 : 많은, 많은 경우. 일반적으로 몇 가지 "특별한 경우"핸들러와 결합 된 기본 동작 (체인의 끝, catch-all 핸들러)을 원할 때. –