Sono nuovo della Spring e dell'architettura a più livelli. Quindi sono un po 'confuso come il flusso di dati tra i diversi livelli.
Quello che ho capito finora è:
Livelli:
- Controller (che accetta richieste)
- Modello (semplice POJO con dipendenze, che rappresenta la tabella del database)
- DTO (espansione degli oggetti del modello cioè appiattimento, senza alcuna dipendenza)
- DAO (che interagisce direttamente con il database)
- Servizio (contiene la logica di business principale come la convalida dei dati e altre operazioni con input)
Flusso di dati (interazione tra livelli):
-
La richiesta arriva dal client al controller.
-
Il controller inoltra la richiesta alla classe di servizio.
-
La classe di servizio esegue operazioni appropriate con i dati e, se sono necessarie operazioni di database, il livello di servizio chiama i rispettivi metodi della classe DAO.
-
La classe DAO utilizza l'oggetto DTO, per archiviare dati durante l'esecuzione delle operazioni del database.
-
DTO e Model sono mappati l'uno con l'altro con l'aiuto di ModelMapper nella classe di servizio.
-
L'oggetto DTO viene restituito al controllore per classe di servizio.
-
Il controller restituisce l'oggetto DTO al client come risposta.
L'intera situazione è corretta? Se ci sono cambiamenti, per favore guidami correttamente. Inoltre sono confuso che, in realtà, dove viene utilizzato l'oggetto Modello, poiché utilizziamo gli oggetti DTO solo ovunque. Grazie.