Padrão de Projeto Template Method: Como Eliminar Códigos Duplicados Usando Orientação a Objetos!

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

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

  • @henriquebcosta05
    @henriquebcosta05 День назад +3

    Renato, te achei pelas recomendações do youtube e estou maratonando seus vídeos do canal. Curti bastante até agora. Parabéns pelo trabalho e com toda certeza irá ajudar bastante a galera.

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад +1

      Ahh valeu demais pela força Henrique, fico feliz que tenha gostado do conteúdo!!! Abração!!

  • @valdineidossantos
    @valdineidossantos 4 часа назад +1

    Excelente video

  • @pedrocarvalho3788
    @pedrocarvalho3788 2 дня назад +4

    Eu primeiro faço o código roda liso, depois , só depois, analiso e faço uma refatoraçao, mas a prioridade é o sistema funcionar.
    Os padrões são importantes, porém eu não tenho a obrigatoriedade emprega-los, vai ajudar, vai , mas se não tiver, roda do mesmo jeito ou parecido.
    Valeu !!!

    • @RenatoAugustoTech
      @RenatoAugustoTech  2 дня назад

      @@pedrocarvalho3788 boa!!!! É exatamente isso! Primeiro a gente põe pra funcionar depois a gente com pequenos passos vai refatorando.

  • @MarcioSouzaDuarte
    @MarcioSouzaDuarte 9 часов назад +1

    Ótimo vídeo... outra playlist que poderias fazer é sobre o SOLID, nesta mesma pegada dos padrões de projeto... acho que ficaria muito bacana!

    • @RenatoAugustoTech
      @RenatoAugustoTech  7 часов назад +1

      Tô preparando uma playlist sobre SOLID já! Hahaha logo logo vai ser lançada

  • @FAELP22
    @FAELP22 2 дня назад +2

    E lá vamos nós, mais um vídeo top.

  • @gssj-o8p
    @gssj-o8p День назад +1

    Muito bom cara mandou bem, esse padrão é da hora e tu explica tri bem!

  • @Guigo-s
    @Guigo-s День назад +1

    Outro vídeo sensacional!
    Melhorei muito meus códigos e minha paixão por programação graças a você, antes eu ficava muito preso em fazer o "sistema perfeito", agora faço como dá e depois refatoro como posso.
    Gostaria de pedir um vídeo sobre o padrão interceptor. Abraço!

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад +1

      Fico feliz que tenha ajudado!!! E quanto ao Interceptor ele já está na lista pra eu gravar hahaha! qualquer hora dessas eu solto ele, como ele não tá listado no GOF eu preferi trazer primeiro os mais comuns no dia a dia da galera e deixei os mais específicos por último, fora o interceptor tem mais uns 4 patterns que são pouco conhecidos mas que são bem úteis e poderosos!!

    • @Guigo-s
      @Guigo-s День назад +1

      @@RenatoAugustoTech hehe, obrigado pela atenção. Depois que acabar essa séria de padrões de projeto eu gostaria muito de ver uma série sobre arquitetura de software, você ensina muito bem, mesmo se fosse pago eu investiria neste conhecimento. Divulguei seu canal para todos meus colegas de turma, bão de mais! Espero que você cresça muito ainda no YT.

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад +1

      Hahah valeu demais pela força!! E sim, arquitetura vai ser muito provavelmente a próxima playlist, já tô me preparando pra gravar conteúdo sobre clean architecture, Domain Driven Design, TDD etc...

  • @RicardoSantos-wl1bg
    @RicardoSantos-wl1bg 2 дня назад +1

    Que legal Renato! Mais didático que isso é impossível. Parabéns!

  • @codebase42
    @codebase42 День назад +1

    Muito bom conteúdo

  • @rafaelsantana588
    @rafaelsantana588 2 дня назад +1

    Cara seus vídeos são sensacionais, muito obrigado!

    • @RenatoAugustoTech
      @RenatoAugustoTech  2 дня назад

      @@rafaelsantana588 valeu demais Rafa! Tmj! Eu que agradeço pelo feedback positivo e fico feliz por ter ajudado!!!

  • @igorlamoia1540
    @igorlamoia1540 2 дня назад +1

    Qualidade máxima como sempre. Vou rever o Abstract Method ou Abstract Factory, acho q é o Abstract Method q pelo q me lembro, a implementação é praticamente essa do Template Method.
    Sabe me dizer a diferença?

    • @RenatoAugustoTech
      @RenatoAugustoTech  2 дня назад +1

      Valeu demais Igor!! Quanto ao design pattern que tu mencionou deve ser o Simple Factory mas eles são bem diferentes. O Simple Factory tem a responsabilidade apenas de instanciar novos objetos pra gente de acordo com o parametro de entrada pra evitar de ficarmos largando IF no nosso codigo cliente. Sobre o Abstract Factory eu ainda vou gravar conteúdo sobre ele.

  • @patrickFP93
    @patrickFP93 День назад +3

    Que Jesus faça crescer o seu canal.

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад

      @@patrickFP93 valeu Patrick mt obrigado pela força tmj!!!!

  • @lucasdev3214
    @lucasdev3214 День назад +1

    Seria equivalente ao polimorfismo que temos no Java ?

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад

      Então Lucas, o Template Method e o polimorfismo estão bem conectados, mas não são a mesma coisa. O polimorfismo é um conceito mais geral da programação orientada a objetos que permite que a gente faça métodos se comportarem de forma diferente dependendo da classe que os implementa e ele tá presente não só no java mas em todas as linguagens que trabalham com o paradigma orientado a objetos. Já o Template Method é um padrão de projeto que usa o polimorfismo para funcionar.
      No Template Method, a ideia central da coisa toda é que a a classe base tem que definir um 'esqueleto' do algoritmo, enquanto as subclasses implementam os detalhes específicos de cada passo. Então, sim, eles estão extremamente relacionados mas no geral não são a mesma coisa.

  • @cycro
    @cycro День назад +1

    Eu to com uma dúvida de como arrumar meu código, não tem nenhum servidor no discord ou grupo pra eu poder entrar não?
    Bem, caso alguém queira saber, eu to fazendo uma linguagem de programação compilada. O passo a passo pra fazer ela tá de boa o problema é organização das coisas. Como ela vai ter tipagem estática, queria saber como e onde organizar coisas pra ver o tipo de uma expressão e compilar aqla expressão.

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад +1

      Tô me planejando pra criar uma comunidade no discord mas me conta aí, tu criou uma linguagem mesmo?? Insano!

    • @cycro
      @cycro День назад

      @RenatoAugustoTech bem to no ramo né. o problema é organizar porque escalar ta difícil . e como é minha primeira vez fazendo to perdido

  • @lucianomicrostop
    @lucianomicrostop День назад +1

    Se você fosse implementar essa mesma solução do vídeo desde o início (considerando que as classes não existam), qual padrão adotaria, o mesmo? Ou?

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад

      Fala Luciano!! Cara se eu fosse fazer algo nesse sentido desde o inicio eu primeiro procuraria a motivação pra aplicar o pattern, EX: se desde o inicio a gente tivesse que construir essas 3 classes já de cara aí sim valeria a pena a gente implementar o template method porém se a gente for criar somente uma única classe já com o template method pensando que no futuro possam haver classes novas e tal aí eu já considero design prematuro e isso acaba trazendo mais problemas do que ajudando sacou?

    • @lucianomicrostop
      @lucianomicrostop День назад +1

      @@RenatoAugustoTech Entendi. Se as 3 classes existissem desde o início mas você fosse fazer o código do zero, o Template Method ainda assim seria o dp mais indicado para essa solução ou algum outro dp? Eu só queria fechar o raciocínio se o Template Method é indicado para um refactoring evitando repetição de código como você explica no vídeo ou se arquiteturalmente (partindo do zero) seria a melhor solução de design pattern para esse caso de importação de 3 fontes diferentes de dados.

    • @RenatoAugustoTech
      @RenatoAugustoTech  День назад +1

      Ah saquei!! Com toda certeza eu partiria de inicio com o template method, nesse cenário ele é o melhor, não tem outro! Esse pattern ele é tanto indicado pra refactoring como tu mencionou mas também pra codar já de início. Daí como eu mencionei no vídeo sobre o cuidado ao utilizar ele é pq geralmente é bem difícil a gente já ter todo o escopo pronto pra desenvolver 3 features de uma só vez mas se o cenário é esse onde tu já tenha a necessidade de classes diferentes que farão quase a mesma coisa ou duplicarão código pode tacar o Template Method que é sucesso!!

  • @sinvalfelisberto
    @sinvalfelisberto 2 дня назад +1

    First