Domanda :
- Se devo recuperare un'entità da un altro Contesto Limitato per mapparlo a qualcosa in questo Contesto Limitato, come dovrei fare per farlo?
- Chiamare il livello applicazione del contesto Bounded esterno? Forse ho bisogno di un nuovo livello di applicazione "Query" per tali query?
- Devo chiamare i repository di Bounded Context stranieri?
- È possibile chiamare direttamente il modello di dominio del contesto limitato esterno?
Modello di dominio (notare due contesti separati):
-
CustomerContext.Customer
- questo è il modello cliente completo. -
ConsentContext.Person
- una versione ridimensionata e strongmente trasformata di più istanze diCustomerContext.Customer
. Le regole che guidano questa trasformazione risiedono inConsentContext.Person
.Person
non fa mai riferimento direttamente a "Cliente", nessuna dipendenza qui. - Nota: queste due entità appartengono sicuramente a contesti separati. Il cliente è ciò su cui l'azienda lavora quotidianamente. Consenso La persona è pesantemente trasformata per esigenze legali e aziendali e ha una struttura completamente diversa. Il cliente è semplicemente un'origine dati, quindi la persona può crearsi utilizzando la logica aziendale interna.
Livello applicazione :
-
ConsentContext.ApplicationService
- implementa i casi d'uso. Come parte di questi casi d'uso, recuperaConsentContext.Person
con un po 'diPersonRepository
.
Repos :
-
ConsentContext.PersonRepository
deve entrare in contatto conCustomerContext
e recuperareCustomerContext.Customer
e mappare su una nuova Persona. Questo è il punto in cui vengo a corto - cosa chiamo da qui? % Application Layer diCustomerContext
? % repository diCustomerContext
? Il modello di dominio diCustomerContext
direttamente?
Altro :
- Entrambi i contesti limitati vengono eseguiti nello stesso processo, non sto utilizzando un'API REST.
- Mi rivolgo alla relazione cliente / fornitore