Аутентификация обычно не является частью домена (в 99% всех случаев использования), а только частью инфраструктуры.
Таким образом, Users
никогда не должен появляться в ограниченном контексте.В реальном деловом мире нет пользователей, только люди, люди, сотрудники, менеджеры или контакты и т. Д.
Так что для регистрации проблем у вас есть наши пользователи с именем пользователя и паролем, которые служат для аутентификации.У этих пользователей есть идентификатор (числовой, строковый или guid).
Ваш Employee
или Persons
объект / агрегат (или то, что вы назвали, зависит от вашего домена, точный термин зависит от компании к компании).- вездесущий язык) содержит только те данные, которые принадлежат человеку (но не информацию, относящуюся к идентификации).
Затем вы можете подключить сотрудников к пользователям (либо с помощью идентификатора сотрудника, который будет идентификатором пользователей, используемых для входа в систему, дополнительного поля или с помощью таблицы поиска 1: 1 или 1: n.
Таким образом, вы можете легко удалить пользователя (логин), не удаляя сущность Employee
, потому что в реальных сценариях вы не можете просто удалить бизнес-данные (т.е. представить, что удаление пользователя удаляет получателя из каждого счета или CRMданные, никто бы никогда не узнал, что этот человек работал там в прошлом).