gpt4 book ai didi

android - 可以双向使用 Otto 事件总线吗?

转载 作者:行者123 更新时间:2023-11-29 16:06:01 25 4
gpt4 key购买 nike

双向使用 Otto 事件总线是好的做法吗?

我的意思是,将事件从 Controller 发送到 View ,再从 View 发送到 Controller ?

或者它只是为了发布结果意味着它的目的只是从 Controller 到 View 的事件?

谢谢

最佳答案

好问题。这是我对此的看法。我使用 Otto 一段时间并双向使用它。根据我的经验,没有人反对这样做。我刚刚定义了一些规则来帮助我控制一切。

必须确认一对多模式。我的意思是,一个生产者通常应该通知多个订阅者。当然,在不同的时间点可以有零个或多个订户。但是,如果您遇到这样一种情况,即设计 最大订阅者数量仅为一个,那么您尝试发送的是“命令”而不是“事件”。对于这种情况,我会使用直接调用而不是发布事件。

另一个要避免的情况是,一个事件触发另一个事件,而另一个事件又再次触发第一个事件。您可以在此处运行无限事件链。当同一个类同时具有订阅者和生产者方法时,可能会发生这种情况。如果我有这样的类,我会尽量保持这些方法独立。

当然,我总是使用 Android 组件的生命周期来动态注册和取消注册发布者和订阅者。我从 onResume()onPause() 方法开始,如果需要,我将继续使用 onStart() 甚至 onCreate()

关于android - 可以双向使用 Otto 事件总线吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379362/

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