Ao seguir o DDD (Design Orientado a Domínio), é correto que um agregado raiz retenha uma referência a uma entidade interna que passa a ser a entidade raiz em um agregado separado?
Eu acredito que isso não está correto, principalmente por causa desta regra no livro azul :
Nada fora do limite AGGREGATE pode conter uma referência a qualquer coisa dentro dele, exceto à raiz ENTITY. A raiz ENTITY pode entregar referências às ENTITIES internas a outros objetos, mas esses objetos podem usá-las apenas de forma transitória e podem não se apegar à referência. A raiz pode entregar uma cópia de um VALUE OBJECT para outro objeto, e não importa o que aconteça, porque é apenas um VALUE e não terá mais nenhuma associação com o AGGREGATE.
Se um agregado raiz mantém uma referência a outro agregado raiz, o limite do primeiro é violado e todo o conceito de agregado é corrompido, por isso acredito que se um agregado raiz parecer precisar manter uma referência a outro agregado raiz, então preciso para criar uma entidade diferente , que provavelmente compartilhará alguns dos mesmos membros que a outra entidade raiz, mas não terá uma identidade global, conforme esta outra regra do livro declara:
ENTIDADES raiz têm identidade global. ENTIDADES dentro do limite têm identidade local, única apenas dentro do AGREGADO.
Acredito que esse seria o caminho correto a seguir, mas, como se sente repetitivo e redundante (quando retirado do contexto do DDD, com pura POO), estou pedindo algum feedback.