Els vostres repositoris haurien de retornar els objectes del domini i el client del dipòsit pot decidir si ha de fer el mapeig. En mapejar els objectes de domini per veure models (o una altra cosa) dins d'un dipòsit, impediràs que el client dels teus dipòsits tingui accés a l'objecte de domini subjacent.
El repositori hauria de retornar entitats?
Resposta breu: No. Resposta llarga: repository és responsable de tornar les dades persistents a les entitats (models) i viceversa. Model és un model de negoci que representa una entitat empresarial.
Els serveis sempre haurien de tornar els Dtos o també poden tornar models de domini?
Sí, heu de tornar el DTO per la vostra capa de servei ja que heu parlat amb el vostre repositori a la capa de servei amb els membres del model de domini i assignar-los a DTO i tornar a l'MVC controlador i viceversa.
Hauria d'utilitzar el patró del dipòsit?
El patró del dipòsit fa que sigui més fàcil provar la lògica de l'aplicació El patró del dipòsit us permet provar fàcilment la vostra aplicació amb proves unitàries. Recordeu que les proves unitàries només posen a prova el vostre codi, no la infraestructura, de manera que les abstraccions del dipòsit faciliten assolir aquest objectiu.
El repositori forma part del model de domini?
El repositori, igual que una col·lecció, té la responsabilitat d'afegir un objecte, obtenir objectes per identificador o criteris complexos i, eventualment, eliminar un objecte. … El repositori està implementat a la capa de domini, perquè funciona amb objectes de domini.