RESTful service layer con MVC

2

Ho bisogno di un consiglio sulla creazione di un'architettura in cui voglio il livello API tra livello UI e livello aziendale. Il livello dell'interfaccia utente deve utilizzare solo i servizi REST per la visualizzazione dei dati.

Il motivo per questo è che dobbiamo esporre lo stesso servizio per altri client come iPad, Android ecc.

Ora le mie domande sono:

  1. Abbiamo bisogno di un'iniezione di dipendenza in questo caso? (Non penso perché non useremo alcun riferimento nel livello dell'interfaccia utente. L'unica cosa è che stiamo manipolando il JSON restituito dal servizio.)

  2. Faranno male le prestazioni?

  3. È questo l'approccio giusto?

posta Amit Soni 12.10.2015 - 07:36
fonte

1 risposta

5

Do we need dependency injection in this case?

Dipende da ciò che cerchi di ottenere. L'iniezione di dipendenza è necessaria per sostituire facilmente l'implementazione sottostante. Esempi comuni sono:

  • Per sostituire l'implementazione effettiva con stub / mock in un contesto di test dell'unità.

  • Per scambiare facilmente tra più livelli di accesso ai dati (ad esempio per gestire diversi sistemi di database).

Nel tuo caso, vorresti probabilmente testare il tuo livello di presentazione senza dover effettuare le chiamate effettive all'API, nel qual caso DI sarebbe utile.

Will it hurt performance?

Ogni ulteriore astrazione o livello danneggia le prestazioni.

Ciò che dovresti chiedere è:

  • In realtà hai problemi di prestazioni?

  • Se sì, quale profilo rivela sulla fonte della lentezza?

Non indovinare. Misura.

Is this the right approach?

Avere un'API comune che viene poi utilizzata contemporaneamente da applicazioni desktop, applicazioni mobili e applicazioni Web è una pratica comune e consente di ridurre la duplicazione del codice e semplificare il porting di un sistema per i diversi tipi di dispositivi.

    
risposta data 12.10.2015 - 08:19
fonte

Leggi altre domande sui tag