Je suis en train de créer une bibliothèque de classes qui interagit avec diverses API de tierces parties. J'ai utilisé un modèle de façade pour fournir un accès simplifié à des appels compliqués et déroutants, et un modèle de fabrique pour renvoyer l'implémentation correcte. J'essaie maintenant de construire l'une des implémentations, mais je n'arrive pas à trouver un design élégant.
L'implémentation que je suis en train de réaliser nécessite la construction d'une URL (ce que je fais via URIBuilder). Je dois ensuite "exécuter" l'URL. Je désérialise ensuite le résultat Xml dans une classe.
Je prévois d'utiliser HttpClient pour appeler l'API avec l'URI que j'ai construit, mais je ne suis pas sûr de la façon de structurer la classe. Les options auxquelles j'ai pensé sont les suivantes :
-
Une classe de base de mon implémentation afin de pouvoir l'appeler via
base.InvokeURI(Uri myUri)
. -
Une classe de séparation pour qu'elle puisse être utilisée par plusieurs implémentations.
Je ne sais pas non plus où doit se trouver la désérialisation.