estoy aprendiendo DDD y estoy un poco perdido en la capa de Infraestructura:DDD
Según entiendo, "todas las buenas aplicaciones DDD" debería tener 4 capas: presentación, una aplicación de dominio e Infraestructura. Se debe acceder a la base de datos usando Repositorios. Las interfaces del repositorio deben estar en la implementación del nivel de dominio y del repositorio, en Infraestructura (referencia DDD: Where to keep domain Interfaces, the Infrastructure?).
La capa de aplicación, dominio e infraestructura debe/puede tener servicios (referencia www.lostechies.com/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx), en el ejemplo Servicio de correo electrónico en la capa de infraestructura que envía mensajes de correo electrónico.
PERO, dentro de la capa Infraestructura tenemos implementaciones de repositorio, que se utilizan para acceder a la base de datos. Entonces, en este caso, los repositorios son servicios de bases de datos? ¿Cuál es la diferencia entre el servicio de infraestructura y el repositorio?
¡Gracias de antemano!
Bueno, tal vez malinterpretaste mi pregunta o no entendí la respuesta. Dentro de la capa de infraestructura, si tenemos un servicio que trata con Mail API, lo llamamos "servicio de correo electrónico", pero el código para recuperar datos de la base de datos se denomina "implementación del repositorio". ¿No es el mismo tipo de "servicio de infraestructura"? – Zygimantas