Prism EventAggregator 和 MVVM Light Messenger 总结

发布于 2024-12-15 10:07:48 字数 277 浏览 3 评论 0原文

有人能给我介绍一下 Prism EventAggregator 与 MVVM Light Messenger 服务的比较吗?具体来说;

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

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

Can someone please give me good overview of the Prism EventAggregator in comparison to the MVVM Light Messenger service? Specifically;

  • Are they similiar things, or meant for wholly different purposes?
  • The pros and cons of both
  • Where they should and should not be used
  • Use in modular development, such as when used in conjunction with MEF or Unity
  • Other information you deem relevant

This is something that I have not seen addressed much, and I find myself still using both in the same project, when my gut feel says I should use one or the other.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

软糯酥胸 2024-12-22 10:07:48

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

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

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

虽然我没有在 MEF 或 Unity 中使用任何这些框架,但由于它们是类似的实用程序/帮助器/插件或任何您所说的东西,它们应该能够工作。

EventAggregator and Messenger are similar. They both are used to decouple the communication between different components which are used in a composite application. in most cases they both offer similar features.

Messenger has the option of brodcasting to all the subscribers or to targetted subscribers using a key. I am not sure if such a feature exists in EventAggregator.

In terms of Pros and Cons, MVVMLight is very lightweight. Prism comes with other related dll's. If your don't want to use all the features of Prism you can just make use of EventAggregator.

Althought I haven't used any of these frameworks with MEF or Unity, but since they are lke utilities / helpers / addins or whatever you call they should be able to work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文