Quando si segue la progettazione guidata dal dominio (DDD), è corretto per un aggregato radice contenere un riferimento a un'entità interna che si trova ad essere l'entità radice su un aggregato separato?
Credo che ciò non sia corretto, principalmente a causa di questa regola su il libro blu :
Nothing outside the AGGREGATE boundary can hold a reference to anything inside, except to the root ENTITY. The root ENTITY can hand references to the internal ENTITIES to other objects, but those objects can use them only transiently, and they may not hold on to the reference. The root may hand a copy of a VALUE OBJECT to another object, and it doesn't matter what happens to it, because it's just a VALUE and no longer will have any association with the AGGREGATE.
Se un aggregato radice contiene un riferimento a un altro aggregato radice, il limite del primo viene violato e l'intero concetto di aggregato è corrotto, quindi credo che se un aggregato radice abbia bisogno di tenere un riferimento a un altro aggregato radice, quindi ho bisogno di creare un'entità diversa , che probabilmente condividerà alcuni degli stessi membri dell'altra entità root, ma non avrà un'identità globale, come afferma quest'altra regola nel libro:
Root ENTITIES have global identity. ENTITIES inside the boundary have local identity, unique only within the AGGREGATE.
Credo che questa sarebbe la strada giusta da percorrere, ma dal momento che si sente ripetitivo e ridondante (quando tolto il contesto di DDD, con puro OOP), sto chiedendo un feedback.