문제

나는 이제 몇 가지 코드를 이해하려고 노력하고 있으며 패턴을 찾았습니다. 'EditorOpen'이벤트가있는 사용자의 컨트롤 클래스가 있습니다. 처음에는 MSDN에서 제안한 것처럼이 이름이 '-ing'또는 '-ed'로 끝나지 않기 때문에이 이름이 잘못되었다고 생각했습니다. 그러나 나중에 나는이 이벤트가 일어나는 일에 대해 알지 못하지만 실제 작업을 수행하는 것은 일종의 요청입니다. 이것은 클라이언트 코드로, "편집기의 오프닝"을 수행 할 것으로 예상됩니다!

나는 이것이 실제로 어떤 형태의 템플릿 메소드 설계 패턴이라는 것을 알게되어 약간 놀랐습니다. 여기서 단일 액션 자리 표시 자와 연결된 여러 조치가있을 수 있습니다.

나는 그것이 매우 흥미 롭다고 생각하지만, 그러한 경우에 이벤트를 사용하는 것이 오해의 소지가있을 수 있다는 것을 두려워합니다. 어쨌든, 우리는 여기에서 이벤트에 대해 이야기하는 것이 아니라 요청에 대해 이야기하고 있습니다. HM ... 아마도 이벤트의 이름 만 'editorOpeningRequest'또는 'editorOpeningRequested'라면 괜찮을 것입니다. 어떻게 생각해? 코드 검토 중에 이것을 어떻게 언급 하시겠습니까?

도움이 되었습니까?

해결책

편집자를 열기위한 요청을 처리하는 여러 개체가있는 이유가 없다면 이벤트 대신 대의원이어야합니다. 이것은 요청의 하나의 핸들러가있는 것으로 제한되며,이 경우 더 논리적으로 보입니다.

더도 나는 당신이 기대할 것에 대해 더 설명 적이므로 개방형으로 이름을 바꿀 것입니다. 이벤트 모델을 고수하면 OpenEditorRequested가 더 나은 이름 일 수 있습니다.

HTH.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top