Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Repository

Architettura applicativaApprofondimento

Definire un'astrazione di persistenza orientata agli aggregate e implementarla in un adapter infrastrutturale.

Il problema

Il dominio non dovrebbe dipendere da SQL, ORM o dettagli dello storage.

Il pattern

Definire un'astrazione di persistenza orientata agli aggregate e implementarla in un adapter infrastrutturale.

Come funziona

OrderRepository espone findById/save secondo esigenze del dominio; l'adapter JDBC/JPA traduce verso PostgreSQL. Non è un repository per ogni tabella per forza.

Esempio sanitario

Benefici

  • Inversione della dipendenza
  • Test del dominio senza DB
  • Sostituibilità della persistence

Trade-off

  • Astrazioni troppo generiche perdono il linguaggio del dominio
  • ORM leakage se mal progettato

Quando usarlo

Per aggregate e persistence non banale.

Quando evitarlo

Per creare wrapper inutili sopra un CRUD già isolato.

Pattern correlati

RIFERIMENTI

Fonti e riferimenti

JavaScript Domain-Driven Design

Materiale di studio

Riepilogo architetture piattaforma enterprise sanitaria

Capsule Informatiche · Materiale progettuale