Richiesto incapsulamento del gestore API a riposo o meno

1

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?

    
posta formatkaka 29.11.2017 - 10:11
fonte

1 risposta

1

Questo è un giudizio che solo tu (o la tua squadra o il tuo manager) puoi fare.

Devi valutare i costi / gli sforzi di scrivere un anti-corruzione layer utilizzato ora contro lo sforzo aggiuntivo che occorrerebbe per trovare tutti gli usi della libreria esterna in un secondo momento quando si desidera / deve sostituirlo.

Gran parte di questo dipenderà anche dalla probabilità che pensi che sarà necessario sostituire la libreria durante la vita del tuo progetto.

    
risposta data 29.11.2017 - 12:33
fonte

Leggi altre domande sui tag