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

ENT-07 · Deux entities sont égales si leurs identités le sont ​

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

Signal ​

Deux entities comparées par référence (===) ou par égalité profonde de leurs attributs.

Pourquoi ​

L’égalité de deux entities repose sur leur identité unique, pas sur leurs autres attributs. Une entity reste la même à travers tous ses changements d’état.

Exceptions ​

Une égalité sur d’autres attributs tant que l’identité n’existe pas encore. C’est acceptable, mais la génération précoce est préférable (ENT-05).

Correction ​

Un equals(other) sur la classe de base des entities, qui compare les identités typées.

Adaptation ​

TypeScript n’a pas de contrat equals. Deux instances chargées séparément ne sont jamais ===. Il faut donc une méthode equals explicite sur l’identité, que la classe de base des entities appelle. En multi-tenant, elle inclut le tenant (ENT-09).