2017-09-06 3 views
1

Je suis en train de mettre en place un système d'authentification en 2 étapes, pour envoyer les sms que j'ai plusieurs fournisseurs (aws, twilio et on prem). J'ai créé une interface ISMSService et j'ai trois classes concrètes implémentant la méthode "envoyer" dans l'interface. Mon problème est que chaque service comme aws ou twilio nécessite des paramètres d'installation différents pour envoyer un message, donc je ne peux pas les définir dans l'interface. Je peux accéder à ces paramètres dans l'implémentation de "send" depuis web.config mais je ne veux pas faire ça. Existe-t-il une manière abstraite de faire cela et être toujours capable d'envoyer les sms en utilisant la référence ISMSService?Classes concrètes avec différentes propriétés requises

Répondre

2

Vous pouvez faire en sorte que votre méthode d'envoi prenne des options de carte. par exemple.

public void send(Map<String, Object> options) { } 
+0

Merci. Pouvez-vous s'il vous plaît me guider vers un exemple? – user7400346

+0

Merci! , Je vais passer le dictionnaire comme avec les paramètres de configuration. – user7400346