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