Как правильно реализовывать отношения между сущностями DDD?
Всем привет, такой вопрос возник. Моя сущность-домен имеет в себе массив других доменов, те в свою очередь ссылаются на родительский. При этом такие же отношения у меня хранятся в бд. Так вот, я вижу тут две проблемы:
1) Во-первых, по моему мнению, я нарушаю принцип DRY - отношения у меня и в бд хранятся и реализовываются на уровне доменов.
2) Во-вторых, я по-просту утыкаюсь в рекурсию при добавлении записи в бд. Грубо говоря при маппинге (соотнесении домена и данных, хранимых в бд) домена, я начинаю мапить лежащие в нем домены, а внутри них мапится опять родительский. Хах, и все по кругу!
Вопрос, как правильно реализовать этот момент со связанными сущностями? Где лежат отношения между ними?
Вы не DRY нарушаете, вы bounded context не строите, что основа DDD. И отношения должны расти из aggregate root, что очевидно делает невозможным циклические зависимости.