DDD Riferimenti a oggetti da altri contesti limitati

1

Ho già fatto una domanda simile prima, ma continuo a faticare per ottenere questo.

Ho un contesto limitato che è UserManagement che contiene tutti i dettagli su User, UserId ecc. Questo è separato come contesto in quanto è utilizzabile in due applicazioni separate.

Ho un altro contesto limitato che memorizza tutto il codice riusabile, come il mio core. Nel nucleo, c'è un concetto condivisibile (un'interfaccia e un tratto in PHP), ma questo utilizza l'ID utente dal mio altro contesto limitato.

Dato che il nucleo è la parte più bassa del mio dominio, sicuramente non dovrei fare riferimento a oggetti in un livello sopra di esso? Dovresti condividere un concetto di Identificatore più generico su un UserId concreto?

Questa domanda mi confonde anche con l'uso generale di oggetti Id attraverso diversi contesti limitati; dovrei fare riferimento a UserId in altri contesti, o creare un'implementazione di UserId in ognuno di essi?

    
posta designermonkey 06.07.2017 - 11:45
fonte

1 risposta

2

POTREBBE avere oggetti diversi per ogni contesto limitato, tuttavia non è necessario. Se un utente è presente sia nel contesto limitato A che in quello B ed è essenzialmente la stessa cosa, sarebbe in realtà poco saggio non riutilizzare le entità esistenti che hai a portata di mano.

La suddivisione dell'applicazione in più contesti limitati si verifica quando l'applicazione e il dominio sono così grandi che un singolo contesto non può più tenere insieme le informazioni complete, quando più esperti di dominio esprimono concetti simili usando idee diverse. Questo è il punto in cui vuoi rendere evidente la differenza di contesto. Tuttavia, se si dispone di un contesto di supporto, in cui ci si prende cura degli utenti nel proprio sistema e si dispone di un altro contesto applicativo in cui gli utenti vivono effettivamente gli utenti dovrebbero in entrambi i casi essere gli stessi, per dimostrare che si sta effettivamente lavorando con gli stessi dati.

Nel tuo caso è perfettamente valido riutilizzare l'oggetto valore UserId .

    
risposta data 06.07.2017 - 11:53
fonte

Leggi altre domande sui tag