Data una particolare classe / libreria di terze parti che vuoi utilizzare, la cosa più semplice da fare sarebbe semplicemente richiamare le API dell'API tramite la tua applicazione.
D'altra parte hai la possibilità di definire un'interfaccia che detta genericamente ciò che vuoi - non come -, e quindi seguire il modello dell'adattatore per legare l'interfaccia alla classe di terze parti.
Attualmente mi sento propenso alla seconda opzione perché:
-
Crea un singolo punto di cambiamento se vuoi sostituire il fornitore di funzionalità
-
In modo simile, ti consente di aggiungere più provider senza modificare il codice dell'applicazione
-
Permette di seguire le proprie convenzioni di denominazione, firme di metodo più semplici, ecc.
Il fatto è che non ho esperienza di questo approccio e non so quanto possa essere complicato o scomodo. Mi piacerebbe anche sapere se ci sono errori comuni quando si segue questo modello.
Nel mio caso particolare non voglio avvolgere una libreria giantic -e.g. una GUI o una piccola funzione. Inoltre ci sono possibilità che cambierò il mio provider in futuro, quindi questo non è uno YAGNI.
Grazie