Cómo definir reglas de Arquitectura Hexagonal y DDD en el código

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • En este vídeo hablamos de cómo podemos definir reglas de arquitectura en el código de manera que se compruebe de forma automática que siempre las estamos cumpliendo.
    🔔 No te olvides de suscribirte y activar la campanita
    ► www.youtube.co...
    -
    Puedes encontrarme en: alberthernande...

Komentáře • 27

  • @AlbertHernandez
    @AlbertHernandez  Před rokem

    Os dejo aquí el link al proyecto y a la librería:
    - Proyecto: github.com/AlbertHernandez/dependency-cruiser-example
    - Dependency cruiser: github.com/sverweij/dependency-cruiser

  • @taders8327
    @taders8327 Před rokem +1

    Excelente video Albert! Es justo lo que estaba buscando, estaría buenisimo mas videos sobre arquitectura :)

    • @AlbertHernandez
      @AlbertHernandez  Před rokem +1

      Que bueno que te sirvió :) Y claro me apunto lo de la arquitectura, ya sois varios los que me lo habéis comentado y pronto tendremos cositas 😁

  • @franciscopeguero1164
    @franciscopeguero1164 Před rokem

    Muy buen video, gracias por compartir.

  • @IvanAponza
    @IvanAponza Před 6 měsíci

    Excelente video Máster, nos ayudas a ser mejores desarrolladores cada día,

  • @juanisidorogarcia1699

    Genial!!! Me encanta el canal!!
    Muchísimas gracias por compartir todos estos conocimientos de forma tan clara.
    Muchos ánimos con tu contenido!! Te deseo lo mejor! ^^

  • @brayanandresroalopez9010

    Hombre que buena información he encontrado en este video, me toca pasarme por todos tus videos, eres muy claro con la información que das. seria muy bueno si pudieras explicar un poco mas a fondo con un ejemplo desde cero como implementar la arquitectura hexagonal y creo que utilizas el patron repositorio? de ser asi seria genial un video donde explicaras eso. Un subscriptor mas, muy buen contenido

    • @AlbertHernandez
      @AlbertHernandez  Před rokem +1

      Me alegro que encuentres bueno el video :)
      - Si, en este caso uso la arquitectura hexagonal y por supuesto, tengo pendiente hacer ese video, varias personas ya me lo han pedido, espero tener algo pronto para compartirlo con vosotros :)
      - Relacionado al patron repositorio si, también lo uso bastante, en este caso hay un video en el canal donde vemos como aplicar el patron repositorio en un proyecto de NestJS (aunque estaba pensando en igual hacerlo también sobre un proyecto vanilla sin framework para que se vea como se hace desde cero aunque la idea es la misma), te dejo aquí el link por si quieres darle un vistazo: czcams.com/video/9lnHlCZ1hEU/video.html

    • @noemiroalopez2689
      @noemiroalopez2689 Před rokem

      @@AlbertHernandez pero porsupuesto que me apunto para verlo, me cae muy bien tu vídeo porque estoy aprendiendo NestJS también, si sería genial si pudieras hacer uno desde cero con vanilla, porque personalmente me gustó mucho la forma como tienes todo organizado, eres un crack gracias

  • @gposoft
    @gposoft Před rokem

    Excelente gracias!

  • @CodeWithDesign
    @CodeWithDesign Před rokem

    Excelente video.. hay muy poco de hexagonal.. te felicito por el trabajo y el video.

    • @AlbertHernandez
      @AlbertHernandez  Před rokem

      Gracias, me alegro que te guste! Habrá que hacer algo con lo de que hay muy poco de arquitectura hexagonal :)

  • @EnderKira73PC
    @EnderKira73PC Před rokem

    Buen video! Molaria más vídeos sobre arquitectura

  • @dagalo
    @dagalo Před rokem

    Una explicación genial! podría ponerse ese ese comando validate-dependencies para que se ejecute en cada compilación? por ejemplo como lo hace el --watch o el nodemon en cada save de un fichero? lo digo por si hay alguien q se curra una funcionalidad y no se da cuenta hasta q hace el commit

    • @AlbertHernandez
      @AlbertHernandez  Před rokem +1

      Me alegro que te guste la explicacion :) Pues se podria poner donde se quiera, por ejemplo incluso al hacer el build de la aplicacion, hay muchos IDEs que te permiten ejecutar ciertos comandos cuando guardas un fichero, ahi tambien podrias ejecutarlo y recibir todo ese feedback antes

  • @deimerpadillamendez3255
    @deimerpadillamendez3255 Před 11 měsíci

    Maravilloso video

  • @renecaceres3925
    @renecaceres3925 Před rokem

    Que fuente usas en tu editor?

    • @AlbertHernandez
      @AlbertHernandez  Před rokem

      Hola René! La fuente que utilizo es Jetbrains Mono, te dejo un video donde hablamos sobre esta fuente y como podemos instalarla czcams.com/video/we-I7QzU-9M/video.html

  • @brayanandresroalopez9010

    oye tengo una pregunta, ya estoy entendiendo de a poco la arquitectura hexagonal pero me surgio una duda y es que siempre veo ejemplos de esta arquitectura con CRUD'S basicos, mi duda es la siguiente: si necesito hacer una consulta a una base de datos en la que necesito traer información de dos tablas, por ejemplo tengo la tabla asignaturas y la tabla grupo y estas dos estan relacionadas, si quiero hacer un método que me traiga las asignaturas con sus respectivos grupos ¿que tipo de dato coloco en la definición del método (el dato de retorno)? porque no solo me traera los datos de la asignatura y no creo que colocar any sea la solución jajajaj
    La solución quizas es crear otra entity al mismo nivel pero con los datos que espero recibir de ese método? y en caso de tener mas metodos asi seria crear varias entitys? es como la unica solución que se me ocurre pero no se si es lo correcto. gracias de antemano.

    • @AlbertHernandez
      @AlbertHernandez  Před rokem +1

      ¡Buenas! Pues aquí tendríamos varias soluciones, te doy una que he visto bastante.
      Imagínate que tenemos el modelo de Asignaturas y, por otro lado, el modelo de Grupos.
      Lo más probable es que en este caso tengamos 2 repositorios, uno de asignaturas y otro de grupos.
      Luego se puede dar el caso que como comentas que necesitemos hacer cosas con ambos modelos a la vez, por ejemplo, queremos obtener el top 10 de asignaturas que mas grupos tengan asignados, devolviendo como resultado las asignaturas junto a los grupos. Aquí lo que podríamos hacer es añadir sobre el repositorio de asignaturas (esto lo haría así porque al final lo que queremos devolver son el top 10 asignaturas) un nuevo método que haga esta operación interactuando con las 2 tablas. Como resultado, lo que haría es definirme una nueva interfaz, un DTO (data transfer object) donde devolvamos estos datos que nos hacen falta.
      En este caso no nos haría falta crear nuevas entidades debido a que ya tenemos las 2 entidades con las que trabajamos, la de Asignatura y la de Grupos y no nos hacen falta más, sin embargo, puede ser que dependiendo de la operación queramos obtener una combinación u otra de datos, por lo que lo que haría es definirme varios DTOs, uno por cada entrada a método y otro para la respuesta

    • @brayanandresroalopez9010
      @brayanandresroalopez9010 Před rokem

      @@AlbertHernandez Dale entiendo lo pondré en practica muchas gracias 👍

    • @AlbertHernandez
      @AlbertHernandez  Před rokem +1

      Dale caña, cualquier cosa me dices :)

  • @carlosmollapaza9267
    @carlosmollapaza9267 Před rokem

    No es necesario hacer todo eso, no siempre se cumple todo a rajatabla