Open raalzate opened 4 years ago
¡Buenas!
En el repo https://github.com/CodelyTV/java-ddd-skeleton tienes bastante más código de dominio 😊
Al final en este repo (java-ddd-example
) lo que tendremos será el "snapshot" del java-ddd-skeleton
en su estado más avanzado. Lo que hay ahora mismo fue una pequeña prueba de concepto que tenemos pendiente de reemplazar 👼
Aquí algunos puntos interesantes del repo que se van viendo de forma progresiva analizando cada uno en el curso de DDD en Java:
CoursesGetController
: Punto de entrada para peticiones HTTP de tipo GET
del recurso Courses
para la aplicación backoffice/backend
SearchBackofficeCoursesByCriteriaQuery
: Query que lanza al QueryBus
el CoursesGetController
con el fin de obtener los Courses
en base a unos determinados criterios de filtrado recibidos por la petición GET
SearchBackofficeCoursesByCriteriaQueryHandler
: Handler al que llega la Query anterior para ser mapeada de valores en primitivos a Value Objects del dominio y ejecutar el Application Service o caso de usoBackofficeCoursesByCriteriaSearcher
: Application Service que encapsula la lógica de negocio necesaria para hacer búsquedas de Courses
a través del RepositorioBackofficeCourseRepository
: interface
a modo de contrato de dominio (package backoffice/courses/domain
) para invertir la dependencia (Dependency Inversion Principle de SOLID) y servir a modo de puerto en términos de Ports & Adapters o Arquitectura HexagonalMySqlBackofficeCourseRepository
: Implementación a nivel de infraestructura para servir a modo de adaptador en términos de _Ports & Adapters. En este caso para MySQLElasticsearchBackofficeCourseRepository
: Implementación alternativa del mismo contrato de dominio pero en este caso para ElasticsearchBackofficeCourse
: Agregado que devuelven los repositoriosUn saludo y cualquier cosa aquí estamos 🤟
Hola chicos, ante todo excelente trabajo que hacen con su canal, compartí mí agradecimiento por como comparten conocimiento.
Estoy destilando DDD, paso a paso con el libro aunque quiero empezar a entender mucho más aspectos. Entonces quisiera ver el diseño de los dominios que tiene como ejemplo pero veo que no están en el repo. Pueden compartir ese info?