2

我正在制作一个 mock-java 语言,它有很多方法。我会将类似的方法组合在一起并将它们放在自己的类中,但是所有方法都需要扩展一个处理如何中断数据的类。就运行时性能而言,组织它们的最有效方法是什么?

现在它只是一个类 ( ListOfMethods) 中的一堆方法,使用带有 if-else 语句的特殊方法调用以找到正确的方法,例如:

public void methods(String name, String param) throws NumberFormatException, InterruptedException {
    if (name.equals("systemexit")) SystemExit(param);
    else if (name.equals("sleep")) sleep(param);
}
public void SystemExit(String param)
{
    int exit=(int)Double.parseDouble(param);
    System.exit(exit);
}
public void sleep(String param) throws NumberFormatException, InterruptedException
{
    Thread.sleep((long)Double.parseDouble(param));
}

我不是想改变这种格式,只是方法的组织方式。我想将它们分组,例如数学和字符串,但我想知道最好的方法是什么?

  1. ListOfMethods可以扩展每个类。问题是 Java 不支持多重继承,所以类 1 会扩展类 2,而类 2 会扩展类 4,等等。
  2. ListOfMethods可以导入每个类。这样做的问题是它们都需要扩展一个超类。那效率低吗?
  3. 将它们放入不同的类并使方法成为静态的(与前一个非常相似)。
  4. 简单地保持原样。

我对其他建议持开放态度——我想让它尽可能高效。提前致谢。

注意:将有数百个此类的实例同时运行——这只是实际问题的一个简短示例——所以我真的不想浪费内存。

4

1 回答 1

10

我的建议是暂时忽略运行时效率,专注于让你的语言正常工作。当它工作时,对其进行分析并使用它来决定需要使什么(更)高效。目前,无法预测实际的效率问题会是什么。你现在在这个问题上花费的努力很可能会被浪费掉。

所以我的建议是选项4。

或选项 5 - 首先,选择认为将使编写和维护代码最简单的方法。

于 2013-08-24T05:34:39.700 回答