【问题标题】:Prism EventAggregator and MVVM Light Messenger SummaryPrism EventAggregator 和 MVVM Light Messenger 总结
【发布时间】:2011-11-10 23:05:56
【问题描述】:

与 MVVM Light Messenger 服务相比,有人可以详细介绍一下 Prism EventAggregator 吗?具体;

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

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

【问题讨论】:

    标签: silverlight mvvm-light eventaggregator


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我也成功使用了这两个。我通常只是从 MVVM Light/Prism 中提取我需要的部分,所以两者都很轻巧,尽管我认为 Messenger 可能会更小一些。如果您要引发大量事件,可能会有一些次要的性能考虑,但您可能必须编写一些代码来比较它们。我在使用 EventAggregator 时遇到的一个问题是,在 Windows Phone 上,我必须公开处理和过滤回调 - 否则我会得到方法访问异常,并且这些方法作为公共没有意义。不确定这里的 MVVM Light。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 2016-02-07
    • 2011-07-12
    • 1970-01-01
    • 2013-01-17
    相关资源
    最近更新 更多