ARQUITETURA HEXAGONAL NA PRÁTICA COM SPRING BOOT | Conheça a implementação deste microsserviço

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 71

  • @jeanjacquesbarros
    @jeanjacquesbarros 2 года назад +13

    Estava a dias procurando um vídeo assim, que explicasse de forma simples como ficaria essa arquitetura com Spring. Muito bom! Parabéns!!

  • @andreoliveirasantos9727
    @andreoliveirasantos9727 Месяц назад

    Muito bom amigo meus parabéns

  • @pabloceni6905
    @pabloceni6905 6 месяцев назад +1

    Explicação excelente de ambos os videos, tanto o teórico como o prático. Parabéns!

  • @marlonscastro
    @marlonscastro 5 месяцев назад

    Caramba, meu amigo.. que show hein ?
    Sem lenga lenga, foi direto ao ponto..
    Top. 👏🏻👏🏻👏🏻👏🏻

  • @euivanw
    @euivanw 8 месяцев назад

    Obrigado por compartilhar seu conhecimento

  • @alexasasouza
    @alexasasouza 6 месяцев назад +1

    Simple e direto ao ponto. Parabéns.

  • @amandamuniz7748
    @amandamuniz7748 11 месяцев назад

    Didática SENSACIONAL

  • @Matheus581
    @Matheus581 7 месяцев назад +1

    Obrigado pela didatica e explicação, os 2 viddeos com certeza me ajudaram no entendimento disso

  • @nailtonsimoes3738
    @nailtonsimoes3738 Год назад

    show de bola amigo!! muito bom

  • @lopesleticiam
    @lopesleticiam 3 месяца назад

    Incrível! Muito obrigada 💪

  •  Год назад

    Parabéns pelo conteúdo!

  • @tiagoornelas964
    @tiagoornelas964 11 месяцев назад

    Muito obrigado pelo vídeo!!! Consegui entender e aplicar para o projeto que estou trabalhando.

  • @henriquemundowap5046
    @henriquemundowap5046 Год назад

    Muito bom, sou dev PHP e consegui entender tudo, explicou muito bem!

  • @gusrubin
    @gusrubin 2 года назад +10

    Parabéns pelo vídeo. Eu costumo deixar o domínio livre dos DTOs também, eu considero o DTO como responsabilidade da application, entao é ela que tem que se virar para transformar o DTO em objeto de domínio e vice-versa

    • @leandrosoares6
      @leandrosoares6 2 года назад

      Boa gustavo!

    • @gusrubin
      @gusrubin Год назад

      @User6497 Faz muito sentido sim, obrigado pela explicação, vou repensar minhas implementações, eu só não sei se deveria reaproveitar o DTO como objeto de entrada do domínio ou se deveria criar mais um objeto de request, o que você acha?

    • @abdulsacur2615
      @abdulsacur2615 Год назад

      ​@User6497 faz sim!

  • @vitormomberg9461
    @vitormomberg9461 Год назад

    Excelente!
    Muito obrigado por compartilhar esse conhecimento.

  • @wilsonreis3469
    @wilsonreis3469 Год назад

    Parabéns Danilo. Apresentação e código impecáveis. Agradecido pelo compartilhamento.

  • @gabrieldragone
    @gabrieldragone Год назад

    Ótimo video, mto bem explicado. Obrigado!

    • @gabrieldragone
      @gabrieldragone Год назад +1

      Vc poderia disponibilizar um exemplo aplicando testes unitários tbm?

  • @italobaciliere2081
    @italobaciliere2081 Год назад

    Obrigado Danilo, seu trampo é o melhor desse RUclips!!!

  • @lucashenrique6076
    @lucashenrique6076 2 года назад +2

    Muito bom Danilo, continua fazendo vídeos, eu assisti vários sobre essa arquitetura e achei muito confuso, e no seu voce em 5 minutos explicou tudo que era necessário um iniciante saber, e agora em 12 minutos consolidou a parte teórica, vou ate fazer um novo projeto aqui seguindo esses ensinamentos pra fixar melhor, valeu cara tudo de bom!!

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад

      Que bom Lucas. Fico feliz por ter contribuído com seu aprendizado.

  • @raulvitoriano5635
    @raulvitoriano5635 Год назад

    Parabéns pelo conteúdo! Rápido e uma boa didática.

  • @pedroeuropeu5358
    @pedroeuropeu5358 2 года назад +1

    Muito bom. Um conceito muuuuito antigo(arquitetura hexagonal) e que agora entrou no "Hype". Mas bela explicação

  • @naianesilvadacostabatista9267
    @naianesilvadacostabatista9267 2 года назад

    Maravilhosa aula... Obrigada Mestre!

  • @lucasteodoro3833
    @lucasteodoro3833 2 года назад

    Amigo, sua didática é excepcional. Fez algo que pra mim é extremamente complexo, parecer simples. Parabéns! Mas continue seus ensinos por favor.

  • @danilocatapan
    @danilocatapan 2 года назад

    Opa, parabéns pelo vídeo... muito bom!!!

  • @edmilsonvasconcelos1720
    @edmilsonvasconcelos1720 2 года назад

    Muito legal, me deu uma visão massa. Muito obrigado!

  • @leandrosoares6
    @leandrosoares6 2 года назад

    Cara eu li livros e vi várias explicações de Arquitetura Hexagonal, até criei umas implementações no meu git mas ainda não vi explicação mais simples e direta ao ponto que essa. Meus parabéns e obrigado por partilhar seu conhecimento!

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад

      Que bom Leandro que achou o entendimento fácil. Mas não descarta os livros cara, são importantes.

  • @maxdavisdesign
    @maxdavisdesign 2 года назад

    Parabéns pelo vídeo! Didática excelente.

  • @alexandrerogerio7520
    @alexandrerogerio7520 2 года назад

    Ótimo conteúdo

  • @luizgustavo2341
    @luizgustavo2341 2 года назад

    Parabéns pelo vídeo! Me ajudou a entender um pouco mais sobre arquitetura hexagonal.

  • @lmfacchini
    @lmfacchini 7 месяцев назад

    Valew mesmo. Muito bom.

  • @pauloricardonoe
    @pauloricardonoe 3 года назад

    Ótimo conteúdo Danilo. Parabéns!

  • @wellingtondivino8263
    @wellingtondivino8263 3 года назад

    Conteúdo top, Danilo!

  • @felipeguimaraes2568
    @felipeguimaraes2568 2 года назад

    Curti! Vai me salvar num trabalho da faculdade.

  • @fabricionicolato5276
    @fabricionicolato5276 3 года назад

    Muito bom Danilo!

  • @franciscopereira5702
    @franciscopereira5702 3 года назад

    Excelente conteúdo!!

  • @CViniciusSDias
    @CViniciusSDias 3 года назад +2

    Olá, Danilo. Se você for em View, na IDE, tem um modo de apresentação. Fica bem melhor de ver. Eu, por exemplo, tive que deixar pra ver o vídeo depois porque não dá pra acompanhar pelo celular com esse tamanho de fonte.
    Abraços!

    • @DaniloCaneschi
      @DaniloCaneschi  3 года назад +1

      Valeu Vinícius. Vou tomar cuidado com isso para os próximos vídeos.

  • @java-lab
    @java-lab 2 года назад +3

    A injeção de componentes pode ser melhorada fazendo as portas implementarem uma interface comum e configurando @ComponentScan na classe de configuração dos beans. Assim, não é necessário definir manualmente cada bean.

  • @pedroalbertogomes3809
    @pedroalbertogomes3809 2 года назад +1

    Muito obrigado. Uma dúvida, onde eu botaria anotações do tipo oneToMany ? Na entidade ou no domínio ?

  • @pedroppd
    @pedroppd Год назад

    Pode fazer mais vídeos assim ? mostrar mais exemplos, sempre tive essa dúvida de como fazer clean arq com Spring

  • @marcelbarbosa281
    @marcelbarbosa281 2 года назад +1

    Achei muito bom novamente, valeu Danilo! Tenho algumas sugestões, quando você cadastrar um produto acho que seria melhor retornar o status 201 (created) e fiquei um pouco confuso em relação ao ProdutoRepository, ele faz algumas validações como por exemplo, quando busca um produto ele valida se o produto existe antes de retorná-lo, caso ele não exista ele lança uma RuntimeException, será que essas validações não fazer parte do domínio? Mesmo que sejam regras simples acho que compensaria deixá-las no domínio e abusar do Optional na classe que implementar o ProdutoRepositoryPort, o que você acha?

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад

      Boa Marcel. Correto é retornar 201 mesmo. Acredito que faz sentido sim, ficar no domínio, mas depende muito do projeto.

  • @kotov2
    @kotov2 2 года назад +1

    Parabéns pelo vídeo. Uma dúvida, Danilo. No caso das validações de dados, como seria feita? As anotações de validation seriam colocadas nas classes dtos dentro do pacote domínio?

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад

      Valeu Batista. Sim, nas classes dto pra validar a entrada dos dados. Também pode adicionar na entidade, ao persistir no banco de dados

  • @leandromoreira7115
    @leandromoreira7115 Год назад +1

    Tenho uma duvida porq vc tem adptador dentro do seu core domain service já que esse adptador deveria estar fora do core acessando o uma porta?

  • @LucasArkantos
    @LucasArkantos 8 месяцев назад

    Passar Produto como como parametro do construtor de ProdutoEntity não cria uma hyper-depedencia de classe? Neste caso viiolando o SOLID?

  • @esbnet
    @esbnet 2 года назад +1

    Danilo, uma dica: quando for gravar o código, busque aproveitar toda a área da tela. Com tela cheia muitas vezes não consigo ler, a letra está muito pequena. Mas o conteúdo está ótimo.

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад

      Além disso aumentar o tamanho da fonte também. Vlw Edmilson.

  • @avpfer
    @avpfer 2 года назад +2

    É possível refatorar essa aplicação para que funcione sem o Spring ?

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад

      É possível sim. Hexagonal serve pra desacoplar a regra de negócio só mundo externo, por isso cabe a projetos que não usam spring.

  • @bernardosilvaneves3732
    @bernardosilvaneves3732 2 года назад +1

    Opa, uma duvida quero aplicar hateoas nessa estrutura, no padrão spring-hateoas vou precisar de um modelo para estender da classe Representation, só que como tou passando o DTO para o controller e ele esta no domínio da api não posso mexer nele, não isso ? como faria para ter essa segunda camada de DTO ?

    • @DaniloCaneschi
      @DaniloCaneschi  2 года назад +1

      E aí Bernardo! Você pode modificar sim, a classe DTO, pois ela serve para transferência de dados. Uma melhor solução seria você criar um wrapper responsável por converte-los em EntityModel e CollectionModel utilizando generics, que pode ficar na camada de aplicação.

    • @bernardosilvaneves3732
      @bernardosilvaneves3732 2 года назад +1

      @@DaniloCaneschi entendi obg!

  • @pbeanni
    @pbeanni Год назад

    OI Danilo, adorei o conteúdo, tenho interesse em me aprofundar no estudo das arquiteturas e principalmente na utilização delas com Spring, tens alguns livros que tu recomendas ? na tua opnião existe uma preferencia de arquitetura no mercado spring ? clean ou hexagonal ? muitas duvidas hahahah

  • @julianorazzo8392
    @julianorazzo8392 Год назад +2

    por isso que JAVA tá virando uma liguagem chata. era tão simples (Controller, Service,Repository)

    • @paulomatos1087
      @paulomatos1087 Год назад +1

      vc ainda pode trabalhar desse jeito... mas dividir em camadas nao garante uma arquitetura limpa. E esses principios se aplicam a qualquer linguagem, nao apenas Java

  • @d.martins4471
    @d.martins4471 9 месяцев назад +2

    Isso é a exatamente mais do mesmo, com você adicionando a complexidade desnecessária de agora ter dois lugares pra refatorar uma assinatura caso precise: interface e classe de implementação. Absolutamente totalmente desnecessário. Mil vezes melhor utilizar apenas uma classe controller, que chama um service que por sua vez pode chamar um facade ou um repository. Mais uma "arquitetura" de pura lorota, com mais do mesmo, utilizando diferentes nomes para os bois(ports, e blablabla).

  • @didamendes
    @didamendes 9 месяцев назад

    Excelente aula. Essa modinha do arquitetura hexagonal e fod0. E so para escrever mais codigo. E ficar mais complexo. Não sou fã da arquitetura hexagonal. Cada pessoa defini sua propria lista de pacotes. Exemplo se ver outras aulas sobre hexagonal, vai ver nomes diferentes estrutura de pacotes, parece que não tem padrão, e sim o modo que a pessoa entendeu o Hexagonal.