2011-11-10 86 views
3

可有人請給我棱鏡EventAggregator的很好的概述,相較於MVVM光Messenger服務?特別;棱鏡EventAggregator和MVVM光使者摘要

  • 它們是相似的東西,還是意味着完全不同的目的?
  • 與MEF或Unity一起使用時,如在正反兩個
  • ,他們應該和不應該在模塊化的開發使用
  • 使用利弊,
  • 其他信息,您認爲相關

這是什麼,我還沒有看到太多解決,我發現自己還是同時使用同一個項目,當我的直覺說,我應該使用一個或另一個。

回答

3

EventAggregator和Messenger是相似的。它們都用於分離組合應用程序中使用的不同組件之間的通信。在大多數情況下,它們都提供相似的功能

使者有brodcasting的所有用戶或使用鑰匙針對性的用戶選擇。我不確定EventAggregator中是否存在這樣的功能。

在利弊方面,MVVMLight非常輕巧。棱鏡帶有其他相關的DLL。如果你不想使用Prism的所有功能,你可以使用EventAggregator。

Althought我沒有使用任何這些框架與MEF或統一,但因爲它們是艾克事業/助理/加載項或者無論你怎麼稱呼他們應該能夠正常工作。

+0

我也用過了。我通常只是從MVVM Light/Prism中提取所需的部分,所以兩者都非常輕便,儘管我認爲Messenger可能稍微小一點。如果您要舉辦大量活動,可能會有一些次要的性能問題,但您可能需要編寫一些代碼來比較它們。我在EventAggregator中遇到的一個問題是,在Windows Phone上我不得不公開處理和過濾器回調 - 否則我會遇到方法訪問異常,這些方法與公共無關。不確定MVVM Light在這裏。 –