Value Object

Architecture 🟡 Mid

Définition

Objet immutable défini par ses attributs, sans identité propre. Deux value objects avec les mêmes attributs sont égaux. Pas de setter.

Analogie

Un billet de 20 euros : tu ne te soucies pas de QUEL billet c'est, seule la valeur compte.

Exemple de code

class Money {
  constructor(readonly amount: number, readonly currency: string) {}
  add(other: Money) {
    if (this.currency !== other.currency) throw Error('Mismatch');
    return new Money(this.amount + other.amount, this.currency);
  }
}

Cas d'usage

Modéliser des concepts sans identité : Money, Émail, Address, DateRange.

Anti-pattern

Value object mutable — perd sa garantie d'égalité structurelle et d'immutabilite.

Termes liés

#architecture#interview#ddd

← → au clavier pour passer d'une fiche à l'autre