Como e por que eu deveria utilizar interfaces, afinal?

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ม.ค. 2025

ความคิดเห็น • 26

  • @nicolassales2853
    @nicolassales2853 2 ปีที่แล้ว +4

    Quando você aprende a usar interfaces tanto em Go como em outras linguagens, até sua própria visão de como construir/escrever código muda. Estou em um processo de estudar interfaces com Clean Architecture em Go e com isso estou percebendo o poder das Interfaces no desacoplamento e nos testes como mostrado no vídeo. Ademais, parabéns pelos vídeos de qualidade, a série de SOLID, por exemplo, caiu como uma luva no entendimento dos princípios que são obrigatórios para o estudo da arquitetura limpa.

    • @huncoding
      @huncoding  2 ปีที่แล้ว +1

      Cara, realmente, quando se entende interface muita regra de arquitetura começa a fazer sentido e você muda até a forma na qual você escreve códigos, pois tudo do jeito antigo começa a ficar bagunçado se nao tiver interfaces kkkkkkk é bem legal (alias, so comecei a entender de verdade solid e outras arquituras depois q realmente entendi pra q servem as interfaces, e que bom que ajudou voce tambem, fico feliz demais por isso!)

  • @ilvanmanrk
    @ilvanmanrk 2 ปีที่แล้ว +3

    Vídeo maravilhoso, super bem explicado e detalhado!
    Você é o cara, adorando o canal!!!!
    Parabéns ^^

    • @huncoding
      @huncoding  2 ปีที่แล้ว +1

      Vc não sabe como fico feliz lendo isso, muito obrigado mesmo pelo comentário! Fico super feliz sabendo que consegui ajudar.

    • @ilvanmanrk
      @ilvanmanrk 2 ปีที่แล้ว

      @@huncoding Tamo junto! Muito sucesso pra ti .☺ Já estou acompanhando as novidades do canal haha

  • @NiltonOS
    @NiltonOS 2 ปีที่แล้ว +2

    Estou esperando aquele curso de Fiber, uma ideia que eu penso, vou compartilhar ... pegar alguma aplicação PHP e reescrever usando Fiber e GORM, algum projeto antigo, e usar como Interface Svelte ou VueJS ou usar um template igual ao AdminLTE 3, usando session, JWT e o Template Jet, apenas uma ideia

    • @huncoding
      @huncoding  2 ปีที่แล้ว

      Cara o unico problema é que eu nunca, nunca mesmo mexi com PHP kkkkkk eu não sei nada sobre. Daria pra eu fazer a mesma coisa com Java/Spring, com um OAuth (ou JWT mesmo) e alguma coisa no front, geralmente gosto de usar React. Resumindo daria pra fazer a mesma coisa porem com tecnologias diferentes, nas quais eu conseguiria puxar pra cá

    • @NiltonOS
      @NiltonOS 2 ปีที่แล้ว

      @@huncoding Tudo bem, é só um ponto, eu disse PHP porque existem muitos projetos opensource em PHP que daria para refatorar entende, algo que as pessoas vão usar sabe.

  • @ThiagoHenrique-fs1ns
    @ThiagoHenrique-fs1ns 2 ปีที่แล้ว

    muito bom mano!!

    • @huncoding
      @huncoding  2 ปีที่แล้ว +1

      Valeu Thiago!!!! Muito obrigado!

  • @arozendojr
    @arozendojr 2 ปีที่แล้ว +1

    DIzem que interface ajudam a fazer teste, poderia ser conteúdo para outros vídeos

    • @huncoding
      @huncoding  2 ปีที่แล้ว +2

      Sim, ajudam até demais, da pra mockar tudo e testar até biblioteca externas se precisar. Vou trazer com certeza videos sobre testes aqui no canal!

    • @arozendojr
      @arozendojr 2 ปีที่แล้ว

      @@huncoding Show

  • @NiltonOS
    @NiltonOS 2 ปีที่แล้ว

    Bacana, ainda vai demorar um tempo para entender, afff, mas eu vou entender essa bagaça

    • @huncoding
      @huncoding  2 ปีที่แล้ว

      Qual parte é complicada pra você? Eu tento explicar por aqui se quiser!

    • @NiltonOS
      @NiltonOS 2 ปีที่แล้ว

      @@huncoding Relexa , você explicou muito bem, meu cérebro que tá demorando para organizar a informação, você disse tudo com qualidade

  • @danieldias2693
    @danieldias2693 8 หลายเดือนก่อน

    pode usar o vscode sempre kkkk, pior q depois do VsCode tu foi para o GoLand, até consegui uma licença do GoLand, mas no trabalho uso o VsCode e usar duas IDEs estava me confundindo.

  • @maydersonmello
    @maydersonmello 2 ปีที่แล้ว

    Eu venho do Nodejs/TypeScript e Elixir, e estou aprendendo Golang, achei essa parte de Interface bem estranha rsrs, pelo fato dela ser implícita, por exemplo, vamos supor que eu tenha uma base de código grande, como eu iria saber que algo esta implementando X Interface só de olhar sabe? isso pode ser confuso, você sabe me dizer se existe alguma possibilidade deles deixarem mesmo que seja de forma opcional, o uso de forma explícita dessas Interfaces? eu vi que você deu um exemplo mostrando que se uma variável tem o tipo daquela interface, e ao fazer uma atribuição se tiver aqueles métodos implementados então vai deixar prosseguir, mas rsrs se tivesse como ser explícito seria bacana.

    • @huncoding
      @huncoding  2 ปีที่แล้ว +1

      Explícito você diz de deixar claro que uma variável implementa aquela interface? Você poderia implementar uma variável do tipo da interface e jogar o valor da implementação nela, tipo:
      var interfaceTeste1 InterfaceTeste = NewInterfaceTeste()
      Não sei se é isso que vc quis dizer

    • @maydersonmello
      @maydersonmello 2 ปีที่แล้ว

      @@huncoding essa pegada ai seria mais ou menos o que você mostrou no vídeo, mas me refiro algo desse tipo por exemplo:
      Disso:
      type User struct {...}
      Para isso:
      type User struct implements MyInterface {...}
      obs: eu sei que a keyword implements não existe, é só para ter mais ou menos uma noção de saber que uma estrutura de dados está implementando uma interface, com isso só de olhar já fica mais claro, é só uma opinião sabe, eu sei que o Go tem sua forma diferenciada assim como outras linguagens, a verdade é que quando acostumamos a trabalhar de um jeito, meio que criamos uma barreira e questionamos o porque não é assim aqui também rsrs.
      Mas enfim, você foi bem objetivo no seu vídeo, foi uma excelente abordagem com exemplos obrigado!

    • @huncoding
      @huncoding  2 ปีที่แล้ว +1

      @@maydersonmello e eu super entendo cara kkkkkkkk eu sofri pra entender interfaces em go e confesso que prefiro a abordagem de outras linguagens pra isso, inclusive vou trazer um vídeo sobre “Coisas que não gosto em go” e esse é um dos pontos.
      Mas vamos imaginar o seguinte: como com esse cenário q vc apresentou, uma struct implementaria várias interfaces? Imagina ter:
      type User struct implemente Interface2, Interface3, interface4
      Perderia totalmente o sentido de um objeto e estaria assumindo outros papéis além do papel de implementar métodos, sabe? O implements encaixa perfeitamente em linguagens que tem classes, mas no caso do que quiseram trazer algo mais simples, acredito que não faria tanto sentido
      Porém concordo com isso de ser esquisito o fato de não ter nada explícito

    • @maydersonmello
      @maydersonmello 2 ปีที่แล้ว

      @@huncoding Hahahaha será um bom vídeo esse, o jeito é aderir mesmo e acostumar com esse jeito do Go rsrs muito obrigado pelas respostas!

  • @JamzaDzn
    @JamzaDzn 2 ปีที่แล้ว

    cade o video configurando o neovim? to passando mal kkkkkk

    • @huncoding
      @huncoding  2 ปีที่แล้ว

      Kkkkkkkkkk terça-feira que vem, as 9 da manhã. Já anota aí!

  • @miguelmarcio8127
    @miguelmarcio8127 2 ปีที่แล้ว

    Muito bom

    • @huncoding
      @huncoding  2 ปีที่แล้ว

      Obrigadaão Miguel!