Soy nuevo en DDD, ya que trabajé solo en aplicaciones Transaction-Script con un modelo anémico, o solo en Big Balls of Mud, así que perdone cualquier terminología que abuse.
Estoy tratando de entender la separación adecuada entre el modelo de dominio y el repositorio. ¿Cuál es la forma correcta de construir un objeto de dominio que proviene de una base de datos, suponiendo la necesidad (increíblemente simplificada) de buscar objetos por estado (devoluciones enumerable
) o por ID.
- ¿Debería una fábrica construir los objetos, exponer métodos
GetByStatus()
yGetByID()
utilizar un repositorio DIed? - ¿Se debe llamar directamente a un repositorio, sabiendo cómo construir un modelo de dominio desde el DTO?
- ¿Debería el modelo de dominio tener un constructor para obtener por ID, usando un repositorio DIed para cargar el estado inicial, usando algún otro método (?) Para la lista?
No estoy realmente seguro de cuál sería la mejor manera, y esta pregunta tiene una respuesta que aboga por cada uno (estos son ciertamente exclusivos de mutuallu).