Domain Service
Architecture 🟡 MidDefinition
Service stateless qui encapsule une logique metier qui ne rentre naturellement dans aucune entite ou value object. Opere sur plusieurs agregats.
Analogie
Un notaire : il ne possede rien mais orchestre une transaction entre acheteur et vendeur.
Exemple de code
class TransferService {
transfer(from: Account, to: Account, amount: Money) {
from.debit(amount);
to.credit(amount);
}
}
Cas d'usage
Operations metier impliquant plusieurs agregats qui ne peuvent pas etre attribuees a un seul.
Anti-pattern
Domain service anemique qui ne fait que deleguer au repository — logique metier absente.