← Tutte le CapsuleJavaScript Domain-Driven Design Riepilogo architetture piattaforma enterprise sanitaria
Domain Model
Rappresentare invarianti e comportamenti nel dominio, usando entity, value object e aggregate coerenti con il bounded context.
Il problema
Un modello composto solo da getter/setter sposta le regole in servizi procedurali e rende facile creare stati invalidi.
Il pattern
Rappresentare invarianti e comportamenti nel dominio, usando entity, value object e aggregate coerenti con il bounded context.
Come funziona
Un oggetto espone operazioni come order.complete() che verificano transizioni valide, invece di consentire setStatus("COMPLETED") da qualsiasi punto.
Esempio sanitario
Benefici
- Invarianti vicino ai dati
- Codice espressivo
- Riduce stati invalidi
Trade-off
- Richiede modellazione
- Può essere eccessivo per CRUD puro
Quando usarlo
Per domini con regole e transizioni significative.
Quando evitarlo
Per tabelle di lookup o CRUD senza comportamento.
Pattern correlati
RIFERIMENTI
Fonti e riferimenti
Materiale di studio
Capsule Informatiche · Materiale progettuale
