gpt4 book ai didi

.net - 响应式扩展与事件聚合器

转载 作者:行者123 更新时间:2023-12-04 22:57:53 25 4
gpt4 key购买 nike

我是 Reactive Extensions 的新手。我知道 Rx 会观察(在运行时)对底层对象的任何更改,并在更改时通知订阅者。

考虑事件的 Rx,它检查任何事件并将这些更改发布到订阅者。类似地,我们有事件聚合器,它将事件发布给订阅者。两者都在做同样的工作。两者都服务于相同的目的。两者之间有什么区别吗?

感谢您的回复

最佳答案

咆哮

根据我的经验,EventAggregators 是反转责任方向的单例,因此 UI 可以相互发送消息并扭曲域抽象。我个人认为 EventAggregators(特别是 w.r.t Prism)是错误问题的正确答案。

一般来说,我认为在使用 EventAggregator 的地方,它们应该被替换为对适当的域实体或服务的调用,然后可能将操作的结果公开为事件(Rx 或其他)。现在使用 IoC,相关方可以将相关实现注入(inject)其中,然后他们可以订阅事件(再次 Rx 或其他方式)。

--咆哮--

然而,为了更好地回答您的实际问题,我认为如果您使用 EventAggregator,您的问题实际上可能是“我应该将通知公开为 .net 事件还是 Rx 可观察序列 (IObservable)”

在那种情况下,我看不出有太大区别。如果不需要调度/并发控制、事件/通知的组合或序列的转换(如节流或缓冲),那么您当前使用的事件就可以了。

关于.net - 响应式扩展与事件聚合器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15876230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com