gpt4 book ai didi

java - GWT 中事件总线的动机

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:55:59 25 4
gpt4 key购买 nike

我正在 GWT 中创建类似 MVP 的应用程序。

  • 有多个面板,每个面板始终可见。
  • 每个面板都有一个 Presenter,并且有一个位于所有 Presenter 之上的 AppController。
  • 有一些应用程序级事件发生在一个 Presenter 中,但对其他 Presenter 有影响。
  • 为此建议的架构似乎涉及事件总线。但是,我不确定我是否看到了相对于更简单的东西的优势。
  • 特别是,简单地允许 AppController(并且只允许 AppController)订阅来自任何 Presenter 的事件不是更简洁吗?然后 AppController 可以告诉每个演示者在给定事件的情况下要做什么。
  • “事件总线”似乎是一个准全局变量。但是,如果您可以使用更精确定义的方法(即 AppController 在每个 Presenter 上调用的方法)来完成同样的事情,那不是更好吗?

更准确地说,我的担忧是:为什么要引入事件总线,而不是简单地让事件“冒泡”到适当的决策层?对我来说,这似乎是 MVP 概念最直接的扩展,它不需要事件总线的新想法。不明白引入Event Bus是为了解决什么问题。

最佳答案

事件总线的优点是代码分离。

您可以将自定义事件发送到总线,而无需再关心您的事件。每个演示者只订阅它真正需要知道的事件。这将导致更清晰的代码,因为您不必创建一个必须知道所有演示者才能将事件委托(delegate)给他们的调度程序。

在我看来,eventbus 是一个非常好的东西,它可以使代码简洁易懂。

关于java - GWT 中事件总线的动机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827707/

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