Attualmente sto progettando un software in cui devo utilizzare un client di riposo. Ho deciso di utilizzare una particolare libreria, ma sono bloccato se dovrei usarlo direttamente o aggiungere un livello di incapsulamento personalizzato. Per rendermi più chiaro, supponiamo di dover fare una richiesta da una funzione chiamata getAuthInfo
.
Doing it directly
function getAuthInfo() {
return someLibrary.get(path, headers);
}
Adding Encapsulation layer
/* Adding an abstraction layer on top of the library */
import myEncapsulation;
function getAuthInfo() {
return myEncapsulation.get(path, headers);
}
---------------------------------------------
/* myEncapsulation module */
function get(path, headers) {
return someLibrary.get(path, headers);
}
Il motivo per cui sto chiedendo è perché il ritmo con cui le cose cambiano nel mondo javascript, la libreria che sto usando oggi potrebbe eseguire una riscrittura completa causando cambiamenti improvvisi o una nuova libreria che potrebbe supportare meglio il mio caso d'uso.
In ogni caso, se implemento il primo metodo, dovrò apportare modifiche a tutta l'app, ma nel secondo caso dovrò apportare modifiche in un singolo modulo.
Ma il lato negativo che sento al secondo metodo può essere che, c'è un piccolo overhead per implementare il modulo e che dovrò mantenere molto cautamente e documentare correttamente per l'EncapsulationModule.
Che cosa suggerisci?