gpt4 book ai didi

java - 代码性能

转载 作者:行者123 更新时间:2023-12-01 12:07:14 25 4
gpt4 key购买 nike

在这两个代码中都使用了单个实例,但我只是想知道哪种方法更好

例如:

接口(interface)

  interface A{

void someOperation();

}

该接口(interface)的实现

class AImpl implements A{
private Object A;

public AImpl(Object A){
this.A = A;
}

void someOpearion(){
//

......
//
}

}

工厂界面

interface Factory{
A getA();
}

工厂实现

class FactoryImpl implement Factory{
A a;
A getA(){
if(a == null){
a=new AImpl();
}
return a;
}
}

现在有两种使用此工厂的方法,只有 1 个基本区别

方法 1:

class View{

View(){
someMethod();
}

void someMethod(){
factory.getA().someOperation();
}
}

方法 2:

class View{
A a;
View(){
this.a = factory.getA();
someMethod();
}

void someMethod(){
a.someOperation();
}
}

在方法 1 中,对于每个操作,我都需要使用工厂访问 View ,而在方法 2 中,我在本地使用工厂实例。

我认为方法 2 更好,因为它不使用方法 Channing 或接口(interface)回调。我说得对吗?有人可以解释一下这一点吗?

最佳答案

如果多次调用 someMethod(),方法 2 的速度可能会稍快一些,因为您可以节省一次方法调用。但是,在现实生活中,这不会影响应用程序的运行时,除非您进行数百万次调用。

我个人会根据可维护性和代码简单性在这两种方法之间进行选择。如果您在一个类中的多个位置进行相同的调用,我会使用方法2。否则,方法 1 更简单、更容易理解。

关于java - 代码性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27503002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com