Capsule Informatiche di Lello De Luca
← Tutte le Capsule

DTO

Architettura applicativaApprofondimento

Usare Data Transfer Object espliciti per request e response, versionabili indipendentemente dal modello interno.

Il problema

Esporre direttamente entity di dominio o persistence lega il contratto API ai dettagli interni.

Il pattern

Usare Data Transfer Object espliciti per request e response, versionabili indipendentemente dal modello interno.

Come funziona

CreateOrderRequest viene validato e mappato a un comando; OrderResponse espone solo i campi contrattuali. I DTO non dovrebbero diventare domain entity anemiche usate ovunque.

Esempio sanitario

Benefici

  • Contratti stabili
  • Riduce data leakage
  • Versionamento API più semplice

Trade-off

  • Mapping aggiuntivo
  • Duplicazione intenzionale

Quando usarlo

Ai confini di API, messaging e integrazioni.

Quando evitarlo

Per passare lo stesso DTO attraverso tutti i layer fino al database.

Pattern correlati

RIFERIMENTI

Fonti e riferimenti

Riepilogo architetture piattaforma enterprise sanitaria

Capsule Informatiche · Materiale progettuale

JavaScript Domain-Driven Design

Materiale di studio