Come dovrei avvicinarmi all'istanziazione di un UUID da un altro aggregato

2

Perdonami se questa è una domanda davvero ingenua, non riesco a trovare una risposta da nessuna parte (il che mi fa pensare che sia forse sciocco e ingenuo).

Se devo tenere un riferimento a un aggregato all'interno di un altro, ovviamente utilizzo l'Uuid di quell'altro aggregato. La mia domanda è come dovrei istanziare quell'oggetto?

Essendo un oggetto di valore, è giusto chiamare semplicemente new MyAggId() ? Sono preoccupato che questo significhi che i miei due aggregati sono ora accoppiati come si usa un oggetto da un altro.

Sono troppo preoccupato qui e sono stupido?

    
posta designermonkey 19.06.2017 - 22:55
fonte

2 risposte

1

Being that it is a value object of sorts, is it ok to simply call new MyAggId()? I am worried that this means that my two aggregates are now coupled as one uses an object from another one.

L'aggregato è già accoppiato, con o senza il tipo MyAggId .

  • Usare il tipo proprio significa riflettere questo fatto nel codice.
  • Usare un tipo "più primitivo" significa nascondere quel fatto - intenzionalmente o meno.

Il dominio del problema regola se due cose sono accoppiate o meno. Il codice rispecchierà la dipendenza in un modo o nell'altro.

    
risposta data 20.06.2017 - 06:13
fonte
0

Un aggregato può contenere un riferimento a un altro aggregato senza che UUID sia coinvolto.

Se sono coinvolti, l'UUID dovrebbe essere stato creato quando l'entità è stata creata. Gli UUID vengono utilizzati quando è necessario un numero identificativo univoco, ma la creazione viene distribuita in modo che non possano essere sicuri di quali numeri sono nuovi. È molto probabile che gli UUID siano nuovi fintanto che si mantengono ragionevoli i loro numeri.

Una volta creato l'UUID con l'entità, l'UUID può essere utilizzato da qualsiasi elemento per identificare in modo univoco l'entità.

    
risposta data 20.06.2017 - 04:57
fonte

Leggi altre domande sui tag