Logo it.boatexistence.com

Il repository dovrebbe restituire il modello di dominio?

Sommario:

Il repository dovrebbe restituire il modello di dominio?
Il repository dovrebbe restituire il modello di dominio?

Video: Il repository dovrebbe restituire il modello di dominio?

Video: Il repository dovrebbe restituire il modello di dominio?
Video: 129° Mercoledì di Nexa: Valutazione e comparazione di software open source per le PA 2024, Maggio
Anonim

I tuoi repository dovrebbero restituire oggetti di dominio e il client del repository può decidere se è necessario eseguire la mappatura. Mappando gli oggetti di dominio per visualizzare i modelli (o qualcos' altro) all'interno di un repository, impedisci al client dei tuoi repository di ottenere l'accesso all'oggetto di dominio sottostante.

Il repository dovrebbe restituire entità?

Risposta breve: No. Risposta lunga: repository è responsabile della restituzione dei dati persistenti alle entità (modelli) e viceversa. Il modello è un modello di business che rappresenta un'entità aziendale.

I servizi devono sempre restituire Dtos o possono restituire anche modelli di dominio?

Sì, devi restituire DTO dal tuo livello di servizio poiché devi parlare con il tuo repository nel livello di servizio con i membri del modello di dominio e mapparli su DTO e tornare a MVC controller e viceversa.

Dovresti usare il pattern del repository?

Il pattern Repository rende più facile testare la logica dell'applicazione Il pattern Repository ti consente di testare facilmente la tua applicazione con unit test. Ricorda che gli unit test testano solo il tuo codice, non l'infrastruttura, quindi le astrazioni del repository rendono più facile raggiungere questo obiettivo.

Il repository fa parte del modello di dominio?

Il repository, come una raccolta, ha la responsabilità di aggiungere un oggetto, ottenere oggetti tramite identificatore o criteri complessi ed eventualmente rimuovere un oggetto. … Il repository è implementato nel livello di dominio, perché funziona con oggetti di dominio.

Consigliato: