gpt4 book ai didi

design-patterns - 你应该让你的 Observables/Listenables 有多细化?

转载 作者:行者123 更新时间:2023-12-01 02:59:20 26 4
gpt4 key购买 nike

您有一个面向拉取的 Observable/Listenable,它会在某些状态发生变化时通知观察者/监听者。

状态由多个数据块组成,您的一些观察者/监听器并不关心整个状态。

你通常更愿意通知所有的观察者/监听者,并允许他们在他们关心的任何事情都没有改变时忽略通知吗?

还是您通常更喜欢为每个“数据块”使用单独的 Observable,以便保证您的观察者/监听器只收到他们需要响应的通知?

视情况而定吗?

您对 Observables/Listenables 的粒度有什么一般想法吗?

最佳答案

您正在用维护成本与交付成本进行权衡。如果你有细粒度的 Event 定义,每个观察者只得到他需要的东西,所以你不需要支付交付给不感兴趣的观察者的开销——但是节省成本,因为每一种新的金块都需要添加到系统以某种方式。

在交付成本相对较高(消息通过网络流动)的 Pub/Sub 消息传递系统中,通常需要特别注意主题定义。精心设计的主题层次结构通常很有用。所以我们得到这样的模式

  sport
football
england
premier
champioship
scotland
spl
france
...
cricket
australia
...
india
sri lanka

因此,允许在不同级别进行订阅。您可以订阅所有运动或(如某些人可能)订阅
    sport/football/england/championship/watford

关于design-patterns - 你应该让你的 Observables/Listenables 有多细化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1409635/

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