2014-07-20 34 views
1

請注意,這個問題與我在本網站上看到的任何其他問題無關。我沒有找到重複的。創建對象偵聽框架的最佳方法?

我正在爲我的3D遊戲引擎的框架工作,但在我進入渲染的東西之前,我正在實現諸如偵聽某些事件的對象等實用工具。

我的想法是使用所謂的監聽器的接口,並具有與該標註「處理程序」添加任何的方法,該方法將與此類似:

@Handler 
public void onPlayerDeath(PlayerDeathEvent event) {} 

這看起來似乎接近裝卸用Bukkit的事件使插件能夠對事件執行某些操作。然後,我可以使用這種框架來完成任務,完成任務等等。

我認爲會有更好的方法來做到這一點,但這是我能想出的唯一方法。

如果有人能幫忙,那會很棒。謝謝。

回答

3

您可以使用自定義事件,如here所述,也可以使用Guava的EventBus

我更喜歡Guava的EventBus,因爲它提供了一個很好的抽象來處理事件。您可以輕鬆地從同步切換到異步處理,而無需進行太多更改。

-1

我認爲工廠模式將是她的選擇ano t。 (http://en.wikipedia.org/wiki/Factory_method_pattern

public class PlayerFactory { 
    public static Player createPlayer(){ 
     //handle event 
     return new Player(); 
    } 
} 

public class Player{ 
    private Player(){} 
} 
+0

對不起,但是這個迴應並不接近與我的問題有關。 –