2011-01-10 4 views
1

FOSS 서비스 버스를 개발 중입니다.글로벌 이벤트의 대체로

개발자가 필요로하는 것 중 하나는 발생하는 특정 이벤트에 연결하는 것입니다.

public static event BeforeEnqueueMessageDelegate BeforeEnqueueMessage = delegate { }; 
public static event BeforeDequeueMessageDelegate BeforeDequeueMessage = delegate { }; 
public static event AfterEnqueueMessageDelegate AfterEnqueueMessage = delegate { }; 
public static event AfterDequeueMessageDelegate AfterDequeueMessage = delegate { }; 

이벤트의 유한 수 있습니다하지만이 갈 수있는 가장 좋은 방법인지 모른다 : 현재 내가 관심을 가질 수있는 가능한 모든 이벤트를 노출하는 정적 ServiceBusEvents 클래스, 예를 .

동일한 작업을 수행하는 '더 깨끗한'방법이 있습니까?

답변

1

이벤트가 하나뿐이므로 첫 번째 매개 변수는 eventname이됩니다. 그러면 새로운 이벤트가 기존 인터페이스를 변경하지 않으므로 라이브러리를 미래에 증명할 수 있습니다. 단점은 모든 매개 변수를 사용하기 전에 캐스팅해야한다는 것입니다. (또는 이벤트의 기본 클래스를 사용하면 사람들이 대신 해당 유형을 전환 할 수 있습니다.)

0

좋아요. 그렇다면 강력한 반대 의견이 없거나 실제 '깨끗한'방법은 없습니다.)

입력 해 주셔서 감사합니다.

+1

답변을 추가하는 대신 댓글 달기 시스템을 사용하십시오. –