gpt4 book ai didi

c# - 将 IObserver 分配给多个 IObservable 实例

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:30 27 4
gpt4 key购买 nike

Although it is possible to attach an observer to multiple providers, the recommended pattern is to attach an IObserver instance to only one IObservable instance.

取自Observer Design Pattern Best Practices .

我看不出有任何明显的理由建议将观察者分配给一个可观察对象。事实上,我想这样做是为了不断刷新依赖于多个变化值的统计数据。

在我看来,msdn 建议我为我想要观察的每个值创建一个专用观察者类的实例,而我的直觉是让我的统计类直接分配给 IObservables。

实现这个的“正确”方法是什么?我不应该将我的类分配给多个可观察对象的原因是什么?

最佳答案

据我所知,这种“最佳实践”没有充分的理由。

我只能看到您可能想要执行此操作的一种情况,但这肯定不构成将其称为“最佳实践”的理由。

假设您需要知道发出通知的 observable 是谁,并且假设 observable 没有通过 OnNext()value 参数来标识自己。然后,您必须为每个可观察对象实例化一个不同的观察者,并将可观察对象作为构造函数参数传递给观察者 (*1)。

在您的情况下,您不需要知道发出通知的 observable 是谁,因此这种情况不适用于您。

(*1) 事实上,正是为了让您不必实例化不必要的观察者,许多框架要求任何通知都应包含对通知发起者的引用。

关于c# - 将 IObserver 分配给多个 IObservable 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432209/

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