Aller au contenu
Filtrer les règles par style d’implémentation
Style
Tactique
Sévérité
majeure
S’applique à
  • Modèle (domain)

ENT-06 · L’identité ne change jamais ​

Style
Tactique
Sévérité
majeure
S’applique à
  • Modèle (domain)

Signal ​

  • Un setter ou une méthode publique qui change l’identité, ou un attribut qui en fait partie (par exemple walletId et period pour un Statement).
  • Un champ d’identité qui n’est pas readonly.

Pourquoi ​

Dans la plupart des cas, l’identité doit rester stable pendant toute la vie de l’entity. Les setters d’identité sont privés. Ils refusent toute seconde affectation, et un test le prouve.

Exceptions ​

La reconstitution depuis la persistance, qui affecte l’identité une seule fois.

Correction ​

readonly, aucune méthode de modification, et un test qui vérifie que l’identité ne change pas.

Voir aussi ​

AGG-05 l’exige déjà pour l’identité de l’aggregate root : fixée à la construction, jamais modifiée.