DTO può essere considerato come oggetto Business (con comportamento)?

5

In base a questa domanda e alla sua risposta:

Oggetto nel livello aziendale uguale a DTO con logica ?

Voglio chiedere:

Che cosa succede se al posto di DAL, sto ricevendo dati da un servizio remoto (API) tramite DTO. I miei DTO qui rappresentano un elemento prezioso per gli oggetti aziendali con tutte le relazioni intermedie. Sebbene nell'API ci siano BOs che sto chiamando, non posso inserire il comportamento di cui ho bisogno perché è specifico per me. Come posso affrontare questo?

se nessun comportamento su DTO e allora? Questo sembra schifoso

(API) < - DTO - > (mappingService) < - Oggetto dominio - > (domainService) < - DTO - > (UI) ??

    
posta Mohamed Amine Mrad 10.06.2017 - 02:32
fonte

1 risposta

3

Esistono diversi modelli architettonici a tua scelta:

Fondamentalmente, la combinazione del tuo DTO con la logica del dominio sembra quasi un record attivo. È una soluzione praticabile se il tuo modello di dominio è semplice e se l'oggetto dominio è molto vicino al DTO.

Tuttavia, tieni presente i suoi principali svantaggi:

  • non si beneficia più del disaccoppiamento offerto dal DTO. Un DTO isola il tuo modello di dominio interno, dall'implementazione back-end e lascia che ognuno di essi evolva al suo ritmo.
  • non è allineato con il principio del design pulito di singola responsabilità

E attenzione: usalo solo se il modello di dominio è semplice. Non è una buona idea se un oggetto sia semplice, ma l'intero modello sarebbe piuttosto complesso, perché i record attivi sollevano molti problemi se dovessi combinarlo con unità di lavoro, una mappa di identità o altro pattern di architettura delle applicazioni aziendali .

    
risposta data 10.06.2017 - 17:10
fonte

Leggi altre domande sui tag