Dovrebbe essere uno strato di dominio in un'app client Java che utilizza un'API per recuperare i suoi dati?

2

Sono un po 'nuovo in Java, visto che lo sto solo programmando da quasi due anni, quindi ogni paio di mesi cerco di cogliere un nuovo concetto per migliorare le mie conoscenze e le pratiche di codifica.

Questa è solo una domanda per fornire chiarimenti e ottenere le opinioni / le migliori pratiche dagli ingegneri sull'architettura del software.

Dire che sto creando un'app Web con Java (Spring, in questo caso). Ho le mie viste / HTML e c'è un modulo su una delle mie viste che chiama un endpoint nell'app client, che è gestita da un controller. Potrebbe esserci un livello di servizio nella mia app client che gestisce qualsiasi logica di business.

I dati che l'app utilizza provengono da un altro servizio; un'API REST. Questa API REST ha il proprio set di controller, un livello di servizio che gestisce la logica di business e un livello di dominio che parla con un ORM e gestisce i dati.

La mia domanda è, se l'app del mio cliente ha un livello di dominio che chiama l'API REST, oppure è meglio chiamare il servizio direttamente dal mio controller? Immagino che potrebbe essere ridondante utilizzare il mio controller per andare in un gestore dominio per chiamare un altro endpoint in un'altra app, ma poi vedo il vantaggio di mantenere le cose separate e pulite.

Qualche opinione su questo? Sono fuori in termini di qualcosa? Pensi che le app client debbano avere un livello di dominio per chiamare un altro endpoint in un altro servizio, o questo endpoint dovrebbe essere chiamato nel controller?

    
posta aCarella 27.07.2017 - 16:37
fonte

0 risposte

Leggi altre domande sui tag