NAM-08 · Une identité s’appelle <Concept>Id, une erreur porte le nom du refus
Signal
WalletIdentifier,WalletUuid,WalletKeyà côté deHolderId.WalletError,InvalidOperation,BusinessError, avec un champcodepour les distinguer.
Pourquoi
Les identités apparaissent dans toutes les signatures. Un seul modèle pour toutes (WalletId, HolderId) se lit d’un coup d’œil, et mène tout de suite au bon type.
Une erreur est un refus du métier, et l’appelant réagit selon le refus. InsufficientFunds et DebitsBlocked le disent dans le type ; le compilateur garde alors la liste des refus complète (AGG-01). Un WalletError générique cache les refus derrière un code que le compilateur ne peut pas vérifier.
Exceptions
Aucune.
Correction
<Concept>Iddans<concept>.id.ts.- Un type par refus, nommé d’après ce que le métier refuse (
InsufficientFunds,WithdrawalLimitExceeded,DebitsBlocked), dans le.errors.tsdu concept qui refuse.
Voir aussi
ENT-03 fait d’une identité un value object. NAM-05 tient Error hors du nom.