2013-07-27 2 views
0

모듈화 된 응용 프로그램이 있습니다. 각 모듈은 솔루션 내에서 별도의 프로젝트이며 모듈은 서로를 참조 할 수 없습니다. 모듈이 다른 모듈의 이벤트를 구독 할 수있는 시스템을 추가하고 싶습니다.모듈화 된 이벤트 처리

예를 들어 Blogs 모듈과 Menus 모듈이 있습니다. Blogs 모듈에서 게시물을 삭제할 때 Menus 모듈에서 해당 메뉴 항목도 삭제하고 싶습니다.

도와 주시면 감사하겠습니다. 추가 정보가 필요하시면 알려주십시오. 기꺼이 제공해 드리겠습니다. 감사합니다

+0

어느 정도 수준의 데이터베이스가 있습니까? 이벤트 시스템으로 저장소를 작성할 수 있습니다. (내가 확실하지 않지만, 왜 말했는지, 왜 한 모듈이 다른 모듈에 의존하는지) –

+0

.Net 버전을 사용합니까? – Vasiliy

+0

@Vasiliy : 버전 4.5 – nfplee

답변

3

모듈이 일종의 전역 이벤트 대기열에 이벤트를 게시했는지 확인하십시오. 해당 대기열의 이벤트 메시지에는 이벤트가 발생한 모듈을 나타내는 태그가 있어야합니다.

  • 모든 이벤트를 받게됩니다 중 어디에서 태그를 기반으로 자체를 필터링 할 수 있습니다 그러자 다음, 글로벌 이벤트 대리점에 가입 할 수있는 다른 모듈의 이벤트에 관심이 모든 모듈 또는
  • 제한된 모듈 세트의 이벤트로, 글로벌 이벤트 분배기에 등록 할 때 ID가 전달되어야했습니다.
+0

감사합니다. 그러나 몇 가지 샘플 코드를 제공해 주시겠습니까? 이것은 내게 새로운 abit입니다. Prism을 @mot으로 제안하거나 직접 솔루션을 사용해야합니까? – nfplee

+0

@nfplee : 아니요, 죄송합니다. 특정 샘플 코드를 제공하기에는 너무 광범위하다고 생각합니다. 이것은 단지 두 줄의 코드로 해결할 수있는 것이 아니며, 적어도 많은 변형이 가능할 것입니다. 프리즘에 관해서는, 나는 지금까지 그것에 대해 들어 본 적이 없었습니다. 그래서 나는 말할 수 없습니다. –

+0

감사합니다. 추가 연구를 수행하고 어떤 솔루션이 가장 적합한 지 확인합니다. – nfplee

3

프리즘의 EventAggreator을 사용 하시길 권해드립니다. 귀하의 시나리오에 완벽하게 부합합니다.

+0

고맙습니다. 유망 해 보입니다. 빨리 읽었지만 내 응용 프로그램에서 어떻게 작동하는지 이해하기 전에 좀 더 연구해야 할 것 같습니다. – nfplee

+0

또는 MEF 기반 솔루션 – Vasiliy