Skip to content
This repository has been archived by the owner on Nov 6, 2023. It is now read-only.

Quisiera análisis los dominios, pero no los encuentro #10

Open
raalzate opened this issue Feb 13, 2020 · 1 comment
Open

Quisiera análisis los dominios, pero no los encuentro #10

raalzate opened this issue Feb 13, 2020 · 1 comment

Comments

@raalzate
Copy link

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?

@JavierCane
Copy link
Member

¡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 uso
  • BackofficeCoursesByCriteriaSearcher: Application Service que encapsula la lógica de negocio necesaria para hacer búsquedas de Courses a través del Repositorio
  • BackofficeCourseRepository: 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 Hexagonal
  • MySqlBackofficeCourseRepository: Implementación a nivel de infraestructura para servir a modo de adaptador en términos de _Ports & Adapters. En este caso para MySQL
  • ElasticsearchBackofficeCourseRepository: Implementación alternativa del mismo contrato de dominio pero en este caso para Elasticsearch
  • BackofficeCourse: Agregado que devuelven los repositorios

Un saludo y cualquier cosa aquí estamos 🤟

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants