Spring Framework の機能を使用してマルチトン パターンを実装するにはどうすればよいですか?
https://en.wikipedia.org/wiki/Multiton_pattern
クライアントとサプライヤーのペアを引数として取るファクトリーを書きたいと思います。ファクトリは常にタイプ T の Bean を返す必要があります。クライアントとサプライヤーの特定のペアの場合、返される T のインスタンスはシングルトンである必要がありますが、クライアントとサプライヤーの別のペアの場合は、T の別のインスタンスになります。 Spring がすでに提供している定型コードを実装せずに、これを実装する方法を提案してください。
Interface ClientSdk {
sendRequestToClient();
}
class ClientASdk implements ClientSdk {
}
class ClientBSdk implements ClientSdk {
}
enum Client {
ClientA,
ClientB;
}
enum Supplier {
SupplierA,
SupplierB;
}
class ClientSupplier {
private Client client;
private Supplier supplier;
}
class SdkFactory {
public ClientSdk getClientSdk(ClientSupplier clientSupplier) {
//For a given ClientSupplier, always return the same
//ClientSupplier instance
}
}
@Service
class ClientRequestService {
public sendRequestToClient(ClientSupplier clientSupplier) {
ClientSdk clientSdk = SdkFactory.getSdk(clientSupplier);
clientSdk.sendRequestToClient();
}
}