Eventbus更像是中介者还是观察者?根据谷歌的数据,"eventbus mediator“的点击量为2.430次,"eventbus观察者”的点击量为3.850次。
从描述上看,它们都符合我试图做的事情(中介者甚至更多一点)。那么eventbus是否实现了特定的模式,或者是由我自己决定的呢?
发布于 2012-02-14 12:22:27
通常,给定的一段代码本质上并不是一种模式的示例。这就是为什么它们被称为“模式”(而不是所谓的“实现技术”)。许多软件看起来有点像一种模式,但也类似于另一种--这很好。最好不要为了模式而坚持模式,而是将它们用作讨论体系结构的共享词汇表。
EventBus就是这样一个工具。我在编写它时考虑到了类似观察者的情况,但是如果您适当地构建应用程序,它可以扮演类似于中介者的角色。
发布于 2012-06-23 13:59:43
EventBus的一般用法是激发事件。使用观察者这个词更适合这一点。观察者模式使用事件或消息来通知正在观察(更改)的感兴趣对象的更改。Mediator也试图解耦这两个实现,但从某种意义上说,它比观察者更具体,它可以了解两个对象/接口的所有信息,并作为粘合剂使这两个对象/接口工作。观察者并不声称知道内部结构,甚至不知道接口。它所知道或关心的是当事件发生时,它需要通知感兴趣的对象。
中介器可以是特定于场景的设置,而观察者可以更通用。
EventBus几乎总是应用程序范围内的单例,我肯定会将EventBus归类为使用观察者,因为在大多数情况下,它的真正意图是促进运行时中不同模块/对象之间的全局消息传递。
发布于 2017-05-24 19:04:49
我要说的是,典型的事件总线利用了这两种模式:
https://stackoverflow.com/questions/5975061
复制相似问题