В DDD вы никогда не должны позволять своим сущностям вводить недопустимое состояние. Как говорится, как вы обрабатываете проверку уникального ограничения?
Создание объекта не является реальной проблемой. Но позвольте сказать, что у вас есть сущность, которая должна иметь уникальное имя, и существует тысяча экземпляров этого типа сущности - они не хранятся в памяти, а хранятся в базе данных. Теперь предположим, что вы хотите переименовать экземпляр.
Вы не можете просто использовать сеттер... объект может ввести недопустимое состояние - вы должны проверить его на базе данных.
Как вы справляетесь с этим сценарием в веб-среде?