在Java中使用工厂模式的成本有多高

在Java中使用工厂模式的成本有多高,java,android,performance,oop,Java,Android,Performance,Oop,让我们假设在我们的Android项目中有这种适配器/工厂设计模式,旨在实现网络操作实现与网络操作使用的解耦,以及在不同网络库之间无缝切换的能力 public interface LogInNetworkAdapter { void login(String email, String password, OnLoginListener listener); } public class LogInNetworkAdapterImpl implements LoginNetworkAda

让我们假设在我们的Android项目中有这种适配器/工厂设计模式,旨在实现网络操作实现与网络操作使用的解耦,以及在不同网络库之间无缝切换的能力

public interface LogInNetworkAdapter {
    void login(String email, String password, OnLoginListener listener);
}

public class LogInNetworkAdapterImpl implements LoginNetworkAdapter {

    @Override
    void login(...) {
        // Retrofit implementation
    }

}

public class LogInNetworkAdapterFactory {

    public enum Type { RETROFIT, OTHER_LIB_1, OTHER_LIB_2 }

    public LogInNetworkAdapter getLogInAdapter(Type type) {

        // return LogInLogInNetworkAdapter Impl depending on type passed
    }


}
我想知道与此相关的是什么样的性能(速度、内存)和构建(编译、运行时)开销,以及用户能感受到这种影响吗

如果以这种方式构建,android应用程序会慢多少、大多少


这是类调用的纳秒级问题,还是比这更昂贵?应用程序的占地面积要大多少?如果我们不考虑工程中的一个问题来决定要采取什么路线,那么避免这样的实现对于性能来说是一个过早的优化吗?你的用户不会有任何感觉。调用虚拟方法要比通过网络传输数据便宜得多。此外,您提出的问题就好像您要非常频繁地调用
getLogInAdapter()
。真的,为什么要担心这些事呢?嗯。。。你的用户不会有任何感觉。调用虚拟方法要比通过网络传输数据便宜得多。此外,您提出的问题就好像您要非常频繁地调用
getLogInAdapter()
。真的,为什么要担心这些事情?