В мире, где нет абсолютно никакой репликации бизнес-логики:
Минимальная длина имени и проверка правильности символов звучат как логика домена, поэтому они должны находиться в домене.,Ваш вызов ajax вызовет уровень обслуживания, который, в свою очередь, вызовет домен и подтвердит.
Проверка того, что имя пользователя еще не используется, принимает уровень персистентности, поэтому я думаю, что это скорее всего будет на уровне сервиса.Служебный уровень может просто запросить хранилище для пользователей с указанным именем, и если они возвращаются, он недействителен
В мире, где мы на самом деле заботимся о производительности:
Проверка уникальности имени пользователя, вероятно, требует перехода на уровень обслуживания для доступа к базе данных.Но что касается двух других, это можно сделать в пользовательском интерфейсе, чтобы сохранить поездку на уровень обслуживания, но затем потребуется реплицировать в домене.Это поддерживает Уди Дахан:
Сегрегация ответственности при выполнении командных запросов
Он предлагает проверку пользовательского интерфейса, а затем реплицирует его в домене, но не стоит давать полезную информацию.сообщение от домена, потому что теоретически единственные люди, которые могут проникнуть так далеко, будут хакерами.