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.Personnon 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.Personcon un po 'diPersonRepository.
Repos :
-
ConsentContext.PersonRepositorydeve entrare in contatto conCustomerContexte recuperareCustomerContext.Customere 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 diCustomerContextdirettamente?
Altro :
- Entrambi i contesti limitati vengono eseguiti nello stesso processo, non sto utilizzando un'API REST.
- Mi rivolgo alla relazione cliente / fornitore