3

与 MVVM Light Messenger 服务相比,有人可以给我很好的概述 Prism EventAggregator 吗?具体来说;

  • 它们是相似的东西,还是用于完全不同的目的?
  • 两者的优缺点
  • 应该和不应该使用它们的地方
  • 在模块化开发中使用,例如与 MEF 或 Unity 结合使用时
  • 您认为相关的其他信息

这是我没有看到太多解决的问题,当我的直觉告诉我应该使用其中一个时,我发现自己仍在同一个项目中使用这两种方法。

4

1 回答 1

3

EventAggregator 和 Messenger 类似。它们都用于解耦组合应用程序中使用的不同组件之间的通信。在大多数情况下,它们都提供相似的功能。

Messenger 可以选择向所有订阅者广播或使用密钥向目标订阅者广播。我不确定 EventAggregator 中是否存在这样的功能。

就优缺点而言,MVVMLight 非常轻量级。Prism 附带其他相关的 dll。如果您不想使用 Prism 的所有功能,您可以使用 EventAggregator。

尽管我没有将这些框架与 MEF 或 Unity 一起使用,但由于它们是实用程序 / 助手 / 插件或任何你称之为的东西,它们应该能够工作。

于 2011-11-11T01:32:44.393 回答