Domain Service

Architecture 🟡 Mid

Definition

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.

Termes lies

#architecture#interview#ddd