¿Cómo modelamos las relaciones clásicas de muchos a muchos con CQRS/DDD?Alternativas a las relaciones de muchos a muchos con CQRS
Sé que las implementaciones y soluciones DDD y CQRS tienden a ser específicas del dominio, por lo que puede ser difícil obtener una respuesta general a esta pregunta.
Sin embargo, vamos a suponer que tenemos la relación familiar entre libro y Autor. Esta es una relación clásica de muchos a muchos.
Para mí, parece más natural que libro y Autor son dos diferentes Entidades que pertenecen cada uno en su propio agregado Raíz. Por lo tanto, modelar explícitamente la relación de muchos a muchos entre ellos no es el camino a seguir.
¿Cómo moderamos un AddBookCommand? Queremos ser capaces de agregar un libro a nuestra biblioteca, y también de alguna manera afirmar que un autor particular escribió este libro. ¿Cómo modelamos (y persistimos) tal relación?
Ni libro ni Autor parecer como buenos candidatos para Valor Objetos ...
¡Gracias, esa es realmente una excelente respuesta! He leído gran parte de la literatura introductoria de CQRS, pero recién comencé y todavía necesito entrar en la mentalidad :) –
Solo para agregar a la excelente respuesta de Yves, si observas más el comportamiento, entonces es posible que encuentres ese o ambos (o ninguno) del libro y los agregados de autor son en realidad objetos de valor. Una vez que comencé a pensar así, descubrí que muchos objetos que antes consideraba entidades se modelaban mejor como objetos de valor y, por lo tanto, eran mucho más simples. Todo depende del contexto, por supuesto ... – FinnNk
¿Podría renovar el enlace si está disponible? Supongo que es un ejemplo de código de tu descripción. – ibubi