O que é um Service e por que nomes importam na programação? | Dias de Dev

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ธ.ค. 2024

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

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

    Muito bom video!! Agora está bem claro. Aliás, Eu que fiz essa pergunta de Service vs Action hahah

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

      Muito obrigado por levantar esse tema, que por sua vez gerou o vídeo!
      🤩

    • @pwcodigo
      @pwcodigo 6 หลายเดือนก่อน

      Eu acho que dúvida do @uendelcouto partiu desse vídeo. A forma que aprendi também a usar Service ou Action foi nesse vídeo th-cam.com/video/EvMZ-kh3D0k/w-d-xo.html&ab_channel=PinguimdoLaravel%C2%B7RafaelLunardelli . Bacana como @DiasDeDev aborda sobre o tema faz a gente se aprofundar mais. Exatamente por causa de vídeos/tutoriais/cursos que aplicamos ao assistir somos bastante influenciados. Lanço um questionamento, já que não é recomendado usar DDD ou Clear Architecture em um framework, no caso do Laravel, qual seria o nome a se dar para executar o conceito de conectar com serviços externos ou tirar regras de negócios do controller sem usar erroneamente o nome de Services ? Como explicou no vídeo o nome Infrastructure Service é um nome que vem da arquitetura DDD que nome preciso eu preciso pesquisar aqui para aplicar o mesmo conceito no Laravel sem usar nomeclaturas que vem da arquitetura DDD ou Clear Archicture.

  • @fantastic.animals
    @fantastic.animals ปีที่แล้ว +1

    Muito top, parabéns!

    • @DiasDeDev
      @DiasDeDev  ปีที่แล้ว

      Que bom que gostou. :-D

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

    Boa Vinicius, boas dicas, eu costumo chamar Service a camada entre o Controller e Repository (ou Interface Repository), no Controller recebo os dados de uma request, já validados em outra camada (No Laravel em um FormRequest) e envio os dados para o Service, no Service fica toda a lógica utilizando o Repository para as operações de banco, assim consigo reaproveitar os métodos do Service para outras partes do sistema não somente nas requisições.

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

      Pois é. Geralmente isso é só uma camada fina de indireção sem muito valor. Tem que tomar cuidado com essa prática.

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

      @@DiasDeDev se puder, dá umas dicas pra nós de como agregar mais valor utilizando essas possíveis camadas de "service", em código mesmo.

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

      @Victor Rodrigues O estudo sobre arquitetura é muito interessante e independente de linguagem. Recomendo o livro Clean Architecture:
      amzn.to/3nxRDNc

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

      Opa, @@ErickJeronimo
      O meu último vídeo onde eu criei um teste real possui um Domain Service. É um bom exemplo.

    • @pwcodigo
      @pwcodigo 6 หลายเดือนก่อน

      @@DiasDeDev Vou assistir, obrigado !

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

    Brabo!
    Sempre ajudando, principalmente nas comunidades

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

      Fico feliz que esteja curtindo, Gustavo. :-D

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

    Durante a minha carreira de Dev PHP quando eu via um service era ou uma classe que faz algumas operações como vc falou ou uma classe que interagia com serviços externos. Mais esse segundo caso que o primeiro.

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

      Pois é. Essas indireções sem valor trazem um custo cognitivo. E as classes que interagem com serviços externos eu também vejo muito o nome service sendo usado, realmente.

    • @pwcodigo
      @pwcodigo 6 หลายเดือนก่อน

      @@DiasDeDev Eu aprendi recente assim também. No meu caso, eu uso o Laravel, eu crio um pasta service para conectar a serviços externos como api para gateway de pagamentos por exemplo. Eu vi até no canal do pinguim do laravel, falando sobre actions( quando eu quero criar clas que vai ter apenas uma funcionalidade ali) e services para conectar a serviços externos.

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

    Maravilhoso teu canal! Tem alguma aula ensinando criar permissões de acesso por perfil em PHP simples? Parabéns pelo conteúdo!

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

      Que bom que tem curtido, Fellipe. Obrigado pelo feedback.
      Não tenho esse vídeo em específico não. Posso pensar em preparar algo pro futuro sim. :-D

  • @vanivilis
    @vanivilis ปีที่แล้ว

    A regra é clara, quanto maior o vocabulário mais difícil fica a comunicação pois depende muito do contexto.

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

    Dias, me ajuda?
    Estou estudando PDO, no PHP e vi que é possível usar bindParam e bindValue.
    Vi que bindParam preciso passar por referência usando uma variavel, ex: $stmt->bindParam('name', $name);
    No bindValue, posso passar por valor mesmo: $stmt->bindParam('name', 'John Doe');
    A duvida é: Qual o beneficio de usar um em relação a outro? O que te faz usar um sobre o outro? Pra mim, não faz sentido usar bindValue. Poderia usar sempre o bindParam, mas sinto que estou com algum gap de entendimento. Consegue me ajudar?

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

      Código exemplo:
      $query = 'SELECT * FROM users WHERE name = :name';
      $stmt = $db->prepare($query);
      $name = 'John Doe';
      $stmt->bindParam('name', $name);
      //$stmt->bindValue('name', $name);
      $stmt->execute();
      $result = $stmt->fetchAll();

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

      Com o bindParam, se antes do execute sua variável for alterada, é esse novo valor que será enviado para o banco. Já com o bindValue o valor será o que estava na variável na hora da chamada do bindValue, mesmo se ela for alterada antes do execute. Essa é a única diferença entre ambos. Eu uso sempre o bindValue para evitar confusões. :-)

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

      @@DiasDeDev sensacional. Muito obrigado. Ajudou D+

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

    Sou o + , meu pai é A B+ minha mãe e B + é possível eu ser filha deles

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

    Brabo!
    Sempre ajudando, principalmente nas comunidades