2012-02-23 67 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