Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现基于值返回对象的工厂_Java_Guice - Fatal编程技术网

Java 实现基于值返回对象的工厂

Java 实现基于值返回对象的工厂,java,guice,Java,Guice,我打算这样做- public Car CarFactory { Car createCar(String carType) { if(carType.equals("abc")) return new ABCCar(); if(carType.equals("def")) return new DEFCar(); //so on... } } 如何使用guice 4.0实现它?Fac

我打算这样做-

public Car CarFactory {
    Car createCar(String carType) {
        if(carType.equals("abc"))
            return new ABCCar();
        if(carType.equals("def"))
            return new DEFCar();
        //so on...
    }
}

如何使用guice 4.0实现它?FactoryModuleBuilder是它的合适人选吗?

我们这里缺少一些附加信息,这里的关键点是您计划如何使用CarFactory

如果这是一个典型的用例,当您获得一些字符串时,您需要根据客户机提供的字符串(或任何其他键)做出决定。这是您自己的业务逻辑,Guice不是这里的工具。
如果您不喜欢工厂模式的经典If-else方式,请使用谷歌搜索替代方案

如果您在代码中预先知道需要哪种类型的汽车,那么就可以键入Guice Provider,您可以为
Provider定义两个Provider