方法调用与基于反射的事件系统

时间:2013-08-23 13:19:58

标签: java events reflection methods

目前,我正在尝试为应用程序创建mod。我试图通过在应用程序中放置“钩子”来使其尽可能动态。这些钩子将用于调用/创建我选择的设计(事件系统/方法调用)。我想知道哪一个对我的项目更好。如果您有任何其他方法可以做到“更好”,请告诉我。

如果我进行方法调用,我将在超类中调用一个方法(这个超类用于mods,mods扩展它)。如果使用被调用的方法,mod将运行里面的代码。

如果我做一个基于反射的事件系统。我将创建一个对象(对象的创建将由钩子引起),mod(子类)将监听此对象的创建... I.E

getEventManager().registerlistener(this)

@EventHandler
public void onCertainEvent(EventTick event){}

在“良好”代码和效率方面哪一个更好?或者,如果您有其他方式...请告诉我。

1 个答案:

答案 0 :(得分:2)

使用注释是编写代码的一种方式。这有助于去除大量锅炉板代码。虽然为调用者编写反射更慢且更麻烦,但对于被调用者来说可能更好。通过较慢,一旦代码预热,通常为30-100纳秒,这对您来说可能并不重要。

我建议您按照这种方法来描述您的问题。什么更简单,更容易理解通常是最重要的。