Un repository appartiene a questo progetto?

2

Ho un progetto che riceve tutti i suoi dati dalle chiamate API.

Il server che ospita questa API si connette al proprio database (non è nemmeno sicuro di quale DB sia, ecc.)

Più o meno l'idea di un repository è separare i dati e mapparli, giusto? Non dovrei preoccuparmi di dove vengono i miei dati. Ma se, alla fine della giornata, sono chiamate API, il repository dovrebbe fare tutte le chiamate API all'interno dei suoi metodi?

Ad esempio se avessimo un metodo FindBY nel repository, dovrebbe essere quel metodo quello che effettua la chiamata API?

    
posta NullHypothesis 11.03.2014 - 15:17
fonte

1 risposta

2

L'essenza dell'utilizzo di un repository è quella di consentire la sostituzione dell'oggetto repo con un repo fittizio per scopi di test automatici. Se la tua implementazione API consente di essere sostituita facilmente (in memoria, senza la necessità di un secondo server, senza costi aggiuntivi orribili), non hai bisogno di un repository.

Ad esempio, si desidera scrivere un test automatico per il codice che utilizza il metodo FindBY: è possibile creare facilmente un ambiente in cui FindBY non chiama effettivamente un server DB? Quando il codice sotto test chiama "FindBY", dovrebbe ottenere un set di risultati predefinito dal tuo repository fittizio, quindi il test automatico viene eseguito rapidamente e, se fallisce, sai per certo che non fallisce perché la rete è inattiva o i dati nel server DB è stato modificato.

    
risposta data 11.03.2014 - 15:29
fonte