0

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();
    }
}
4

1 に答える 1