2009-07-01 2 views
0

나는 이제 약간의 코드를 이해하려고 노력하고 있으며, 나에게 이상하게 보이는 패턴을 발견했다. 'EditorOpen'이벤트가있는 사용자의 컨트롤 클래스가 있습니다. 처음에는이 이름이 잘못되었다고 생각했는데 MSDN에서 알 수 있듯이 '-ing'또는 '-ed'로 끝나지 않기 때문입니다. 그러나 나중에 나는이 사건이 어떤 일이 일어 났는지에 대해 알려주지 않는다는 것을 알았지 만 그것은 실제 일을하기위한 일종의 요청이다. 이것이 "편집기 열기"를 수행 할 것으로 예상되는 클라이언트 코드입니다!C# 이벤트를 통해 템플릿 메서드 패턴을 구현하는 것이 좋습니다.

실제로 이것이 하나의 작업 자리 표시 자와 연결된 여러 동작이있을 수있는 템플릿 메서드 디자인 패턴의 일부인 것을 알면 조금 놀랐습니다.

나는 꽤 흥미 롭다고 생각하지만, 그런 경우에 이벤트를 사용하는 것이 매우 잘못된 것일 수도 있습니다. 어쨌든, 우리는 여기서 EVENTS에 대한 것이 아니라 REQUESTS에 관한 것입니다. 흠 ... 이벤트의 이름 만 'EditorOpeningRequest'또는 'EditorOpeningRequested'인 경우 아마 괜찮을 것입니다. 어떻게 생각해? 코드 검토 중에 어떻게 주석을 달았습니까?

답변

1

편집기를 여는 요청을 처리하는 데 여러 개체를 사용하는 아주 좋은 이유가 없다면 이벤트 대신 대리자 여야한다고 제안합니다. 이렇게하면 요청의 핸들러가 하나만있는 것으로 제한됩니다.이 경우에는 더 논리적 인 것 같습니다.

더 많은 것 OpenEditor라는 이름을 바꿀 것입니다. 기대하는 바가 무엇인지 더 잘 설명해 드리겠습니다. 이벤트 모델을 고수하면 OpenEditorRequested가 더 좋은 이름이 될 수 있습니다.

HTH.

관련 문제