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!
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!!
Ó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.
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!!
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?
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!!
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!
Conteúdo excelente! Por favor não pare, você é necessário!
Espero de verdade que vc continue por muito tempo com seus vídeos. São excelentes! 🎉🎉🎉
2025 vai vir muita coisa boa!! Inclusive quadro novo no canal!
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!
Excelente explicação. Parabéns pela didática!
Muito obrigado por compartilhar seu conhecimento!! Didática impecável
Ótima explicação.
Conteúdo fantástico. Seus vídeos estão clareando muito minha mente, vlw
É muito satisfatório assistir um vídeo seu. Parabéns, mano.
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!
cara você e um dos motivos de eu continuar pagando a internet, obrigado pelo conteúdo de altissíma qualidade.
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!!
muito bom mesmo! parabéns e obrigado pelo excelente conteúdo.
@@LuisPauloRSLima valeu Luis, tmj! Abração
sabe muito! 🫡
valeu Victor tmj!! Abração!
Ó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.
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!!
@@RenatoAugustoTech Entendi, valeu. Só pensei nessa solução porque vi seus vídeos, me ajudaram demais!!
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?
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!!
Você tem uma didática incrível!
Fico muito feliz por ver pessoas, que dominam o assunto, compartilhando conhecimentos.
Muito obrigado 🫡
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!