Вы используете неправильную концепцию агрегирования.Объекты внутри агрегата могут фактически содержать ссылки на другие агрегаты.Правило заключается в том, что внешний объект не может содержать ссылку на что-либо в агрегате.
В объекте регистрации вы, кажется, создали его, чтобы избежать каких-либо взаимосвязей между агрегатом и агрегатом.Это не то, почему вы создаете объект.Если в вашем домене действительно есть Регистрация, создайте ее и смоделируйте.Если его нет в вашем домене, не добавляйте его просто для обхода какого-либо пути.
Добавив регистрацию, вы говорите, что не можете содержать ссылку на социальную учетную запись, поскольку она является частью Publisher.Это не правило, но более важно, как Регистрация внезапно стала частью агрегата Издателя?В силу только того, что Publisher имеет коллекцию Registration?
Агрегат - это группа объектов, которые рассматриваются как одна единица для поддержки состояния и инвариантов.Существование отношений само по себе не дает членства в совокупности.
Но посмотрите на другую сторону сейчас.Регистрация 1 к 1 с социальной учетной записью.И если мы удаляем Социальную учетную запись, имеет ли смысл когда-либо регистрироваться у издателя?Если нет, то регистрация, вероятно, фактически является частью совокупности SocialAccount.Вот почему мы создаем агрегаты - чтобы гарантировать, что объекты и их отношения всегда действительны после изменения состояния.Если изменение состояния удаления SocialAccount включает в себя удаление всех регистраций, связанных с этой учетной записью, мы бы хотели включить его в совокупность, чтобы применить это правило.
Теперь вы действительно нарушили «правило агрегирования» - у вас есть внешняя связь между Publisher и объектом «Регистрация», который является внутренней частью агрегата SocialAccount.
Эти понятия болеечем просто правила, у них есть причины.Вам необходимо проанализировать, что на самом деле означает агрегат, понять, что на самом деле говорят правила и что они на самом деле значат, почему они существуют в первую очередь.Затем переоцените ваши отношения и составьте соответствующие определения.