使用 Prism for UWP App 在松散耦合的组件之间进行通信

Communication between loosely coupled Components using Prism for UWP App

我是 Prism 的新手,一直在研究设计一个具有 2 XAML 视图的 UWP 应用程序。这 2 个视图将松散耦合,我想在 2 个视图之间传递消息。一个视图会有一个按钮,单击此按钮后,将向另一个视图发送一条消息,该消息将突出显示该视图中列表中的项目。我正在阅读 Prism 文档,对什么是最佳沟通方式感到困惑?特别是我的案例会受益于 Solution Commanding 或使用 IEvent Aggregator。参考这个 post Communicating across modules with Prism? 我很想了解为什么 IEeventAggregator 是一个很好的解决方案

使用事件聚合器的目的是消除事件或消息的生产者和消费者之间的紧密耦合。

如果您想在应用程序中从一个组件向另一个组件发送消息,您可以通过引发事件或调用对消费者的强引用的方法来实现.这样做的缺点是您在订阅者和发布者之间建立了强烈的依赖关系类,这使得应用程序更难维护且成本更高。

解决方案是在发布者和订阅者之间引入一个事件聚合器。然后订阅者和发布者只知道事件聚合器。他们对彼此一无所知,这意味着他们可以相互独立地进化。

更多概念请参考this blog post

编辑:为了回答您的实际问题,解决方案命令 通常在期望用户交互立即采取行动 时使用而 事件聚合 在没有直接 action-reaction 期望时使用。

更多信息请参考docs