我有一个工厂,我喜欢使用Guice重新实现:
enum MyObjects { OBJECT1, OBJECT2, ... }
class Object1 implements SomeInterface { ... }
class Object2 implements SomeInterface { ... }
...
class Factory {
public static SomeInterface createObject(MyObjects obj) {
switch (obj) {
case OBJECT1: return new Object1();
case OBJECT2: return new Object2();
...
}
}
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来实现它?像Provider.get(参数)和使用绑定来定义在每种情况下应该使用哪个对象?