2
想知道它是否适合混合依赖注入与工厂模式?我会在运行时创建不同类型的对象,并使用它们在DI很好的情况下注入东西,因此可以在工厂构造中注入传递连接字符串或其他东西?将依赖注入与工厂模式混合很好吗?
谢谢。
想知道它是否适合混合依赖注入与工厂模式?我会在运行时创建不同类型的对象,并使用它们在DI很好的情况下注入东西,因此可以在工厂构造中注入传递连接字符串或其他东西?将依赖注入与工厂模式混合很好吗?
谢谢。
这其实很常见。如果你需要某个类的实例,你将注入一个工厂而不是特定的对象。但是,您应该使用容器来构造这些对象(如果需要构建其他对象),请保留该模式并且不要创建依赖项。
绝对!你甚至可以将物体注入工厂!
public class UserFactory
private final UserStore userStore;
@Inject
UserFactory(UserStore userStore) {
this.userStore;
}
// etc
}
public class CreateUserAction implements Action {
private final UserFactory userFactory;
@Inject
CreateUserAction(UserFactory userFactory) {
this.userFactory = userFactory;
}
@Override
void performAction() {
User user = userFactory.newUser().withRandomId().persisted().build();
}
}
这里是Q的清单及作为该说说DI和抽象工厂:http://stackoverflow.com/questions/2280170/why-do-we-need-abstract-factory-design-pattern/2280289#2280289 – 2011-02-05 18:20:17