Un repository dovrebbe trasformare i dati nel modello corretto?

0

Ho alcuni dati nel mio ERP che si formano in un modo molto strano (si pensi a un campo HTML che contiene molti campi diversi, formattati in HTML che devono essere estratti usando XPath).

La trasformazione di questi dati nei campi del modello è il lavoro del repository? O il repository dovrebbe occuparsi solo di ottenere i record dal database e quindi avere un servizio o un trasformatore di qualche tipo che trasforma questo codice HTML nei singoli campi?

Il mio repository restituisce un IList<Product> , tuttavia questo modello contiene tutti i campi che devono essere compilati. Se volessi restituire correttamente questo tipo, dovrei estrarre tutti i campi dal campo HTML e impostarli, il che non sembra appartenere al repository.

Ho anche visto qualcosa di simile nel passaggio al repository come qualcosa di IProductTransformer .

Un'altra opzione è quella di avere modelli separati ... uno per il risultato della chiamata al database e uno per come voglio interagire con il modello nel codice del programma .. e quindi mapparli attraverso un trasformatore?

    
posta Lock 18.07.2017 - 08:07
fonte

1 risposta

2

Al di fuori del repository, la tua applicazione non deve sapere nulla sui formati di archiviazione e dati del tuo repository. Di conseguenza, la trasformazione dei dati deve avvenire da qualche parte all'interno del tuo repository. Ai fini della trasformazione dei dati, il repository può contenere una dipendenza da un elemento che esegue la trasformazione, come IProductTransformer .

    
risposta data 18.07.2017 - 09:36
fonte

Leggi altre domande sui tag