2012-02-23 33 views
3

在GUI应用程序中是否有最好的地方放置guava EventBus?模型,视图或控制器中是否存在?或三个级别中的三个EventBus?还是只有两个?Guava EventBus:它在GUI应用程序中的位置?

谢谢。

+0

这听起来像你有一个解决方案来寻找一个问题。你是否在使用EventBus,因为你认为它很酷,或者因为它需要解决? – Ray 2012-02-23 11:31:51

+0

我使用EventBus,因为它很酷,而且因为有需要:-)我的Swing GUI不是很稳定。如果我使用swing listener事件样式,重构很困难。而且,模型和vue之间的联系是单调乏味的。我认为(我希望)使用事件公交概念更容易。 – Istao 2012-02-23 12:08:50

回答

3

事件总线设计图案常常在Swing应用中使用(如所提到的in this other SO question)。

番石榴的EventBus仅仅是设计模式的另一种实现方式,与一些很酷的技巧来简化事件处理(如使用注释)。但使用设计模式的目标保持不变。

如果我是你,我会研究如何事件总线模式的富客户端应用程序通常使用(在SO /谷歌),同时使用番石榴EventBus简化代码。

的EventBus应该IMO是单身(通过谷歌吉斯或一些其他DI框架理想注入)。

我不是一个Swing开发者,但是我已经完成了GWT开发。前一段时间,GWT应用程序的MVP/EventBus体系结构受到了很大的推动。这可能是查看它的工作,看看你是否可以将相同的想法应用到你的Swing应用程序。

3
+0

谢谢。据我所知,在应用程序级别,它是一个单点事件总线,用于将事件从Vue发送到Controler。有趣。 – Istao 2012-02-23 09:58:14

+0

正确,但我会说只有GUI才有事件总线是一个很好的分离。如果您有其他图层,只需使用其他(这些)总线进行这些图层。 – 2012-02-23 12:02:55