Пример с BankAccount очень плохой и тут DU притянут за уши. Разница между IBAN и Swift - формат реквизитов, а не взаимоисключающие состояния сущности. DU хорош там, где варианты несут разную бизнес-логику (draft/signed/archived или success/error), а не просто отличаются набором полей. Здесь он не решает проблему, а лишь заменяет DTO
Пример с BankAccount очень плохой и тут DU притянут за уши. Разница между IBAN и Swift - формат реквизитов, а не взаимоисключающие состояния сущности. DU хорош там, где варианты несут разную бизнес-логику (draft/signed/archived или success/error), а не просто отличаются набором полей. Здесь он не решает проблему, а лишь заменяет DTO