Estoy luchando con los agregados y las raíces de agregado. Tengo una raíz agregada natural que funciona para aproximadamente el 60% de las solicitudes de los usuarios. Es decir. esas solicitudes se aplican naturalmente a la raíz agregada.Diseño impulsado por el dominio - Agregar raíces
Dentro de mi agregado tengo otra entidad que solo puede existir como miembro de la raíz agregada. Sin embargo, a los usuarios se les informará acerca de este otro objeto de entidad. En ocasiones, tendrá sentido, conceptualmente, que los usuarios operen directamente en este objeto raíz no agregado.
Por lo tanto, creo que tengo un par de opciones:
- Ellos pueden ser ambas raíces agregados en función de los cuales se solicita la operación por parte del usuario.
- Todas las operaciones deben pasar por la raíz agregada de nivel superior.
Tenga en cuenta que la raíz de agregado de nivel superior contendrá una colección de esta otra entidad.
Ejemplo:
raíz principal agregada: Coche
segunda entidad: Asiento (un automóvil tiene 2 o 4 asientos según el tipo). En mi dominio, los asientos solo pueden existir como parte de un automóvil.
La mayoría de las operaciones en el dominio están en el nivel del automóvil. Entonces ese será un buen candidato para la raíz agregada. Sin embargo, (y estoy luchando por ejemplos aquí), algunas operaciones estarán en el nivel del asiento, p. SpillCoffee, ChangeFabric, Clean ....
¿Tanto el Asiento como el Coche pueden ser raíces agregadas? ¿O debería siempre comenzar con Car?
Gracias