2

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

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

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

getEventManager().registerlistener(this)

@EventHandler
public void onCertainEvent(EventTick event){}

就“好”代码和效率而言,哪一个会更好?或者,如果您有其他方法。请告诉我。

4

1 回答 1

2

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

我建议您遵循似乎是描述您的问题的最自然方式的方法。更简单、更容易理解的东西通常是最重要的。

于 2013-08-24T07:35:32.550 回答