使用Prism如何在模块之间进行通信?

5

根据 Prism 文档,跨模块通信有四种方式:

  • 解决方案命令
  • 区域上下文
  • 共享服务
  • 事件聚合

    1. 我可以选择其中一种方法并将其应用于所有跨模块通信吗?还是应根据情况使用不同的方法?
    2. 特别是,在我目前编写的应用程序中,我在一个模块中有一个按钮,当用户单击它时,我想要在另一个模块中启动一个线程。我应该使用哪种通信方法来处理这种情况?
1个回答

7

答案1:可以使用单一的方法来处理。大多数情况下,这样做更容易。

答案2:我建议您使用 事件聚合 来实现。这样,按钮点击和线程执行之间就有了非常松散的耦合。这样,监听模块 只需知道单个 事件,而不需要关心它来自何处。

由于这是单个的 通知,而不是一堆相互关联的 通知/通讯,因此最好是 聚合 一个事件,而不是创建一个 共享服务


假设我有两个模块,分别是采购和库存。那么我该如何处理跨两个模块的事务?如果在采购或库存中出现任何错误,则事务应该回滚。 - Manprit Singh Sahota

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接