Si tiene un objeto de dominio y desea hacer algo útil y central para la responsabilidad de ese objeto de dominio, como asegurarse de que sea válido, a veces necesita acceder el estado de los objetos relacionados para realizar esta validación.Cómo evitar una capa de dominio anémica y aún tener validación y reglas comerciales ricas
Cómo evitar el objeto de dominio que necesita llamar a un repositorio o capa de acceso a datos? No siempre puede recorrer las relaciones de recopilación, incluso con la carga diferida, debido al rendimiento, y a menudo desea ejecutar consultas en el objeto de dominio. Puede implementar la implementación del repositorio de la dependencia en el dominio, pero no es realmente puro y complica las pruebas.
Siempre he relajado las cosas y he permitido el acceso desde el dominio a un repositorio que usa DI. No he visto ejemplos claros de cómo tener una capa de dominio "pura" en una aplicación compleja que tampoco es anémica y tiene una capa de servicio/aplicación que hace todo el ruido y juega con lo que deberían ser las entrañas de los objetos de dominio.
Inyectar objetos en la entidad es la principal idea para mantener la capa de dominio desacoplada. Inyectar repositorios en la entidad es la mejor opción. ¿Y a qué te refieres con servicios dedicados? Los servicios de dominio se utilizan solo si el contexto del comando abarca varias entidades. No debería haber servicios dedicados a una entidad. "- (2x menos)" – Tudor