PARE de Sabotar Seu Código com ABSTRAÇÕES ERRADAS! Domine o Interface Segregation Principle | SOLID

Поділитися
Вставка
  • Опубліковано 4 січ 2025

КОМЕНТАРІ • 24

  • @gustavoluiz84
    @gustavoluiz84 2 дні тому +1

    Conteúdo excelente! Por favor não pare, você é necessário!

  • @aoli_lab
    @aoli_lab 5 днів тому +1

    Espero de verdade que vc continue por muito tempo com seus vídeos. São excelentes! 🎉🎉🎉

    • @RenatoAugustoTech
      @RenatoAugustoTech  5 днів тому

      2025 vai vir muita coisa boa!! Inclusive quadro novo no canal!

  • @hemilioaraujo
    @hemilioaraujo 8 годин тому +1

    Mais uma vez parabéns pelo excelente conteúdo e didática!
    Da até vontade de criar um projeto do para implementar o que aprendi. 😂
    Muito obrigado!

  • @MarcioSouzaDuarte
    @MarcioSouzaDuarte 2 дні тому +1

    Excelente explicação. Parabéns pela didática!

  • @ragegameplay1127
    @ragegameplay1127 2 дні тому +1

    Muito obrigado por compartilhar seu conhecimento!! Didática impecável

  • @ccs333
    @ccs333 2 дні тому +1

    Ótima explicação.

  • @candidoluiz
    @candidoluiz 5 днів тому +1

    Conteúdo fantástico. Seus vídeos estão clareando muito minha mente, vlw

  • @shagost
    @shagost 6 днів тому +4

    É muito satisfatório assistir um vídeo seu. Parabéns, mano.

    • @RenatoAugustoTech
      @RenatoAugustoTech  6 днів тому

      Valeu demais@@shagost , tmj! Esse final de ano foi bastante corrido, mas 2025 vou dobrar a produção de vídeos, vai vir muita coisa bacana por aí e valeu por fazer parte disso tudo! Abração!

  • @octuspi8952
    @octuspi8952 5 днів тому +1

    cara você e um dos motivos de eu continuar pagando a internet, obrigado pelo conteúdo de altissíma qualidade.

    • @RenatoAugustoTech
      @RenatoAugustoTech  5 днів тому

      Cara valeu demais pelo comentário! Vai ser eleito o comentário do ano hahahah! Valeu mesmo, abração e aguarde as próximas novidades, tá vindo coisa boa pra 2025!!

  • @LuisPauloRSLima
    @LuisPauloRSLima 6 днів тому +3

    muito bom mesmo! parabéns e obrigado pelo excelente conteúdo.

  • @victorsoligo1119
    @victorsoligo1119 6 днів тому +3

    sabe muito! 🫡

  • @LucasSilva-jd2bf
    @LucasSilva-jd2bf 6 днів тому +2

    Ótimo vídeo, mas eu tenho uma dúvida: Como você faz nas situações onde você precisa mostrar as opções para o usuário? Por exemplo, na hora do pagamento o usuário escolhe entre cartão ou pix, então pelo menos parte do seu sistema precisa ter conhecimento sobre as implementações concretas da interface, certo?. A minha ideia seria fazer uma Enum com as opções e uma Factory que retorna a implementação de acordo com a Enum passada, mas não sei se esse approach seria o ideal.

    • @RenatoAugustoTech
      @RenatoAugustoTech  6 днів тому +5

      Fala Lucas, cara mandou super bem na solução, é que nesse exemplo de "pagamentos" existem diversas formas de implementar, tem gente que prefere criar código cliente separado pra cada tipo de pagamento EX: cliente seleciona no front qual o meio de pagamento ele prefere e daí o front decide pra qual rota no back encaminhar a requisição http de acordo com a esolha do cliente, então se ele seleciona Pix, a gente manda a request http pro "PixController" sacou? porém se você tiver apenas um controller nomeado como PaymentController também é super válido daí o Código cliente obrigatoriamente precisa conhecer sim as implementações concretas daí ele escolhe qual utilizará e sim a factory faz todo sentido, inclusive eu falei sobre isso no vídeo do Design Pattern Strategy e essa solução eu implementei no vídeo do Simple Factory, onde eu mostro exatamente esse lance que tu perguntou sobre o código cliente precisar conhecer as classes concretas. E pra finalizar, Sim tua solução é extremamente válida inclusive recomendada!!

    • @LucasSilva-jd2bf
      @LucasSilva-jd2bf 6 днів тому +1

      @@RenatoAugustoTech Entendi, valeu. Só pensei nessa solução porque vi seus vídeos, me ajudaram demais!!

  • @andrelccorrea123
    @andrelccorrea123 3 дні тому +1

    Faz sentido aplicar o conceito de interface em Python, já que a própria linguagem não possui esse conceito definido?
    Ao criar algo parecido utilizando ABC, estaria forçando uma situação que poderia gerar problemas?

    • @RenatoAugustoTech
      @RenatoAugustoTech  2 дні тому

      Excelente questionamento!! O que acontece é que embora o Python não tenha um conceito de 'interface' nativo como em linguagens tipadas estáticas (ex.: Java ou C#), a ideia de seguir contratos explícitos ainda faz muito sentido, mesmo em linguagens dinâmicas. O que queremos é garantir coesão e desacoplamento, e o Python nos oferece ferramentas para isso, como o módulo as Abstract Base Classes (ABC) então vai na fé pq faz todo sentido, esses principios são agnósticos de linguagem!!

  • @celiovmjr
    @celiovmjr 6 днів тому +3

    Você tem uma didática incrível!
    Fico muito feliz por ver pessoas, que dominam o assunto, compartilhando conhecimentos.
    Muito obrigado 🫡

    • @RenatoAugustoTech
      @RenatoAugustoTech  6 днів тому +1

      Eu que agradeço@@celiovmjr ! Comentários assim que me impulsionam cada vez mais a devolver o conhecimento que um dia me ajudou tanto. Valeu mesmo pelo feedback!