工場パターンとの依存性注入を混在させるのが良いかどうか知りたいですか?私は実行時に異なる種類のオブジェクトを作成し、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 –