ある実装に固有のオブジェクトをファクトリ クラスのメンバ変数として持つことは良い習慣ですか? たとえば、以下のコードでは、OneChannel オブジェクトと secondChannel オブジェクトをそれぞれ構築するために s1 と s2 が必要です。これらをファクトリ内のメンバー変数として宣言するのは良い習慣ですか? そうでない場合、他の選択肢は何ですか。
public class CommunicationChannelFactoryImpl {
@Autowired
SomeClass s1;
@Autowired
SomeOtherClass s2;
public CommunicationChannel getCommunicationChannel(String channel, Map<String, String> channelProperties) {
if(channel.equals("ONE") {
return new OneChannel(s1);
}
if(channel.equals("TWO") {
return new SecondChannel(s2);
}
}
}
s1 と s2 はシングルトン Bean であることに注意してください