Evite IF/ELSE e HERANÇA aplicando o padrão STRATEGY!

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

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

  • @adibauI
    @adibauI 3 ปีที่แล้ว +34

    Video sensacional!! dark mode deveria ser o default theme da internet inteira :)

  • @antoniomarcos5664
    @antoniomarcos5664 21 วันที่ผ่านมา

    Show de bola, parabéns. Clareza 10 e aplicabilidade bem definida, assim como a motivação, as vantagens e desvantagens.

  • @n.almeida4972
    @n.almeida4972 ปีที่แล้ว +4

    Darkmode sempre !!!!!!! E adoro seus vídeos cara. Muito conhecimento você tem.

  • @MaykeKen-yo3ww
    @MaykeKen-yo3ww 9 หลายเดือนก่อน

    O vídeo mais completo que já vi sobre strategy. Aprendi novas formas de fazer, obrigado. Parabéns!

  • @NelsonAntonio-ys4yk
    @NelsonAntonio-ys4yk ปีที่แล้ว +2

    Primeiramente parabéns por sua iniciativa, didática incrível, se mostrou como o MELHOR conteúdo de TODOS(gringos e brasileiros)sobre padrões de projeto criado por que CONHECE e sabe TRANSMITIR!!! Já fico no aguardo do observer, outro que preciso dominar!!!

  • @Matheusotto182
    @Matheusotto182 3 ปีที่แล้ว +1

    Felizão com esse darkmode. Mto melhor Rinaldo. Parabéns pelo vídeo.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Boa, Matheus! Também curti.

  • @raonileandro3825
    @raonileandro3825 3 หลายเดือนก่อน

    conteúdo de alta qualidade, parabéns!

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

    Ótimo conteúdo e dicas! O tema dark ficou ótimo. Obrigado pela aula.

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

      De nada! Aproveite os outros conteúdos também!

  • @matheushenrique-ws5km
    @matheushenrique-ws5km 3 ปีที่แล้ว +6

    Nuuu cara, vai me ajudar demais, vou começar a ver isso semana que vem na faculdade, bom que já chego treinado kkk

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Haha, top matheus! Já tem algumas aulas aí na playlist pra tu já chegar nas aulas ensinando. :P

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

    Muito obrigado! Está me ajudando muito.

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

    Baita aula! Parabéns

  • @AndersonCaxeta
    @AndersonCaxeta 3 หลายเดือนก่อน

    Muito bom! Fundo claro!

  • @samuelsantos409
    @samuelsantos409 3 ปีที่แล้ว +1

    Ai sim Naldão! Excelente vídeo como sempre.

  • @claudiorobertoas
    @claudiorobertoas 3 ปีที่แล้ว +1

    Gostei mais desse fundo escuro. Ótimos vídeos. Estou aprendendo muito. Parabéns.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu, Cláudio! Que bom que está ajudando, e muito obrigado pelo apoio!

  • @dowglasmaia-dev
    @dowglasmaia-dev 3 ปีที่แล้ว +1

    Show, obrigado por compartilhar este conhecimento!!!!! Deus o abençoe.

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

    Dark mode, vai me ajudar muito, não vou mais precisar diminuir o brilho nos teus videos ^^

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

    Grande Rinaldo , gratidão... admiro teu trabalho. parabéns. - Darkmode ok. eu preferi. Mas... é necessário um destaque no cursor do mouse, para acompanhar o foco (teus apontamentos "aqui")

  • @JoaoLima-pq1hm
    @JoaoLima-pq1hm ปีที่แล้ว

    Otimo trabalho e ótima aula, amigo. Muito obrigado.

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

    Excelente aula! meu voto vai no Dark Mode ;)

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

      Valeu, Valdeir! Agora tá tudo no Dark Mode! hehe
      E lembra de mandar para os amigos e colegas também!
      E depois desse curso lembra que tem vários outros no canal! Tá lá na página de playlists!
      Dá uma olhada lá que você já pode escolher o que assistir depois dessa!
      www.youtube.com/@rinaldodev/playlists
      Ah, e se curtir bastante o conteúdo, considera se tornar um membro!
      É quase de graça, você ajuda a manter o canal e ainda tem acesso a alguns benefícios, tipo nosso servidor Discord exclusivo!
      th-cam.com/users/rinaldodevjoin

  • @renatorodrigues5886
    @renatorodrigues5886 3 ปีที่แล้ว +1

    Dark Mode com certeza, parabéns pelo conteúdo.

  • @MaxGyn2023
    @MaxGyn2023 3 ปีที่แล้ว +1

    Dark Mode ficou top

  • @F43i4N0
    @F43i4N0 3 ปีที่แล้ว +1

    Esse assunto é legal hein! Valeuzão

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Valeu, Fabiano! A playlist inteira desse assunto é bem interessante!

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

    Eu prefiro com fundo preto, ao menos para mim fica mais visível. Parabéns pelo conteúdo, muito bom!!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu, Elias! E que bom que curtiu!

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

    Olá Rinaldo,
    Neste padrão, você informa no main qual é a implementação, certo? "compra.processar(new PagamentoCartaoCredito3());"
    Sendo assim, você informou que o pgto é por cartão de crédito.
    Porém em um cenário que vc vai receber a requisição de compra, ainda não sabendo se é débito ou crédito, como você faria? Seria um if/switch?

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

      Excelente pergunta, Ricardo! Tem várias opções, e geralmente outros padrões são aplicados. É possível utilizar uma factory, ou Enums que guardam as implementações, ou até um mapa dependendo da situação. De qualquer forma, o ideal é ter um componente que faça esse mapeamento da opção selecionada (que provavelmente vai chegar como um identificador) para a implementação necessária.

  • @richardsonhmm
    @richardsonhmm 10 หลายเดือนก่อน

    Normal Mode…
    Parabéns pelo vídeo!
    ❤🎉

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

    Muito bom o fundo dark.

  • @GPot-y6z
    @GPot-y6z 2 ปีที่แล้ว +1

    Excelente video, quando vai sar o curso de java 17 ? 😁

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

      Falei sobre aqui! th-cam.com/video/Fnq7Qodd1g4/w-d-xo.html&lc=UgxwjAnJw6sCRnXfoXd4AaABAg

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

    Dark ficou muito bom. Aproveitando, como sugestão, poderia fazer um vídeo sobre produtividade usando Eclipse.

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

      Tá na lista, mas é muita coisa pra falar. Hehe

  • @alexandrequeiroz3178
    @alexandrequeiroz3178 3 ปีที่แล้ว +1

    O dark mode ficou ótimo!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu, Alexandre!

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

    Já tinha pensando que tivesse implementado correto o Strategy, porém ao jogar a responsa para cada classe individual eu vi que inferi o padrão (peguei isso na desvantagem) ai tornou-se mais um Factory do que um Strategy em sí... Ótimo video Rinaldão!!! E Come to the dark side hahahaha Agora só falta colar para o lado Intellij da força rsrs

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Ixe, o Eclipse acho que demora pra eu largar. Hehe
      Conhecer onde fica cada função e as teclas de atalho ainda tem sido bem mais útil do que trocar, ainda mais que o Eclipse tem evoluído em um ritmo muito bom. Um dia, quem sabe. :P

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

    Gostei da sua explicação, também prefiro dark mode

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

    Primeiro, parabéns pelos conteúdos e iniciativa. Segundo, assim (Dark Mode) ficou muito melhor. Minha opinião.

  • @gustavoballeste8138
    @gustavoballeste8138 3 ปีที่แล้ว +1

    Parabéns pelo vídeo e dark mode sempre!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu, Gustavo! 😀

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

    Boa noite Rinaldo. Na minha opinião no modo DarkMode fica menos agressivo para minha vista. OBS: Talvez diminuir um pouco tamanho da fonte melhore a didática em detrimento de rolar tela muitas vezes para mostrar a totalidade do código, a questão é encontrar o ponto "ótimo" entre esta redução de fonte e a rolagem, pois se muito reduzir fica pouco legível. No mais agradeço pelos conteúdos abordados.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Valeu, Raimundo! Muito obrigado pelo feedback e pela sugestão. Esse "equilíbrio" não só é difícil como varia muito de pessoa pra pessoa, mas vou avaliar o melhor formato! Valeu de novo!

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

    #Excelente!

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

    Muito bom seu conteúdo. Comecei a me aprofundar mais em design patterns mas isso fez com que me surgisse novas duvidas principalmente no spring boot. Estudando designs patterns sempre vem a recomendação de programar para interfaces ao invés de implementações, até ai tudo bem mas o spring gerencia o ciclo de vida do objeto então ao trabalhar com composição nós precisamos inserir as implementações. Um exemplo:
    interface CalculoImposto => metodo calcular;
    e tenho duas classes que implementam essa interface, no caso: CalculoImpostoRio, CalculoImpostoSP.
    Enfim tenho uma classe chamada ProcessarPagamento e eu quero injetar a interface CalculoImposto nela e quero que o cliente dessa classe decida qual implementação passar e ai que surgem minhas duvidas kkk devo não tornar a classe ProcessarPagamento um seviço e fazer com que o cliente a instancie manualmente passando assim a dependência desejada? Devo criar um método dentro de ProcessarPagamento onde o cliente irar injetar ali a dependencia? algo como "void definirImposto(CalculoImposto imposto)...?
    Ja vi uma opção com bean mas vi que a classe de configuração que define qual será a instancia e não o usuario da classe. E por fim, eu não deveria a injetar e criar talvez uma fabrica pra retornar esse objeto? ou até mesmo injetar a fabrica?

  • @alcemirjunior2081
    @alcemirjunior2081 3 ปีที่แล้ว +1

    dark mode certeza kkkkk parabéns pelo conteúdo, preciso como sempre

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

    dark mode claro, otimo video

  • @joaobarrosrj
    @joaobarrosrj 3 ปีที่แล้ว +1

    Fala Rinaldo. Muita qualidade de vídeo e conhecimento, obrigado pela dedicação !!!
    obs: O código dessa aula não está lá no repositório. :)

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Opa! Valeu, João! Esqueci de fazer o commit, hehe. Ainda hoje subo lá e aviso aqui, ok? Obrigado pelo reconhecimento!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Ta lá! :D

  • @gusrubin
    @gusrubin 3 ปีที่แล้ว +1

    Dark mode tá show!

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

    Obscuro, resaltam as palavras

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

    O que fazer quando a escolha da Strategy depende de if? Por exemplo, imagine um bot de Discord que aceita os comandos !help e !ping, portanto o design intuitivo seria criar as classes HelpCommand e PingCommand que implementam Command. Porém, o comando é recebido como String, dessa forma teria que escolher o seu equivalente, assim caindo nos ifs. Nesse caso qual seria a melhor prática? Tenho impressão que é bem comum que o Strategy caia nesses casos. Qual seria a solução para esse caso? Utilizar uma factory para escolher a instância correta?

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +8

      Fala, Ascênio!
      Provavelmente uma Factory irá ajudar.
      Mas você pode fazer vários IFs, se for uma quantidade aceitável, ou trabalhar com um esquema de registrar essas instâncias em memória em um HashMap, por exemplo, é só fazer o Get pelo que o usuário te informou.
      Mas assim, IF não é inimigo não, a questão é não usar demais a ponto de ficar uma lógica muito complexa. Usar IF pra escolher qual componente você chama já é muito melhor do que usá-lo pra programar fluxos completos dentro de um mesmo método.

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

    #TeamDarkMode

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

    Já dizia o sábio: "Luzes atraem bugs. Já a IDE dark, não". Vídeo top!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Haha! Blz, Maycon, valeu! E muito obrigado pelo apoio! :D

  • @Victor-bz1xn
    @Victor-bz1xn 3 ปีที่แล้ว +1

    Quando postei esse comentário, ainda não tinha assistido todo conteúdo, mas achei melhor fazer o comentário antes que esquecesse... Ficou muito bom o fundo 'dark', principalmente para mim que assisto a noite e em local escuro. Não fica tanta claridade nos olhos e pra mim, não afetou em nada a qualidade do video. Forte abraço.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu pelo feedback, victor!

  • @afsdab
    @afsdab 3 ปีที่แล้ว +1

    Dark mode tá top

  • @igorsilva736
    @igorsilva736 วันที่ผ่านมา

    eu não sei no Java, mas no Swift e no Rust, esse pattern fica muito menos verboso usando enum ao invés das implementações de strategy

  • @luizrenato3405
    @luizrenato3405 3 ปีที่แล้ว +1

    Usar Strategy com Enum's não seria possível?

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Fala, Luiz! Primeiramente obrigado pelo apoio! 👊
      Cara, consigo pensar em algumas formas, como usar o Enum pra garantir um Singleton, ou mudar pequenos comportamentos com funções lambda.
      Mas, não sei exatamente para qual finalidade você tá perguntando. Seria pra isso?

    • @luizrenato3405
      @luizrenato3405 3 ปีที่แล้ว

      Fala Rinaldo, acho q seria por essa caminho mesmo, colocando comportamento em cada Enum através da implementação uma interface Strategy (claro se a lógica for simples pra não entulhar o Enum neh).

  • @murilomtds
    @murilomtds 9 หลายเดือนก่อน

    Essa interface Pagavel, poderia ser uma classe DTO da entidade!

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

    Achei muita semelhança com um dos tipos de Factory.

  • @SandroLucianoGiacomozzi
    @SandroLucianoGiacomozzi 3 ปีที่แล้ว +1

    Massa a série. Eu não me acostumo com fundo escuro ☹️

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Eu tô tentando, Sandro. Hehe
      Mas pelos comentários da galera, o Dark tá ganhando de lavada. :(

  • @amfcesar
    @amfcesar 3 ปีที่แล้ว +1

    Nodo escuro sempre, por favor.

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Valeu o feedback, César!

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

    Prefiro a tela clara. Sou meio segueta.

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

    Darkmode!!!

  • @alexlemos6207
    @alexlemos6207 3 ปีที่แล้ว +1

    Fundo branco por favor!!!!!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Até agora o Dark tá ganhando de lavada :(
      Muito obrigado pelo feedback!

  • @dsdcp
    @dsdcp 3 ปีที่แล้ว +1

    pensei que ia conseguir assistir a 2x de velocidade, to vendo que vou ter que diminuir para 0.5x

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Fala, Daniel! Se precisar, assiste mais de uma vez. E uma outra dica é estudar o mesmo conteúdo em vários formatos ou de diferentes fontes. Um vai complementando o outro!

    • @dsdcp
      @dsdcp 3 ปีที่แล้ว

      @@rinaldodev valew Rinaldo

  • @thesamirsales
    @thesamirsales 3 ปีที่แล้ว +1

    Dark mode!!

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Virou o padrão, Samir!

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

    Prefiro darkmode!

  • @leosrbrasil
    @leosrbrasil 3 ปีที่แล้ว +1

    Quem não usa dark mode tá errado. Não sei pq ainda não é o padrão

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว +1

      Pô, Leo, eu não usava até umas semanas atrás. 😅 Mas até agora to curtindo!
      Valeu pelo feedback e pelo apoio. :)

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

    Paulo Muzy da programação

  • @ellenmayara9129
    @ellenmayara9129 9 หลายเดือนก่อน

    dark mode >>>>

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

    Dark mode, please. kkk

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

      Já virou padrão! hehe

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

    Prefiro DarkMode

  • @ricardomurta
    @ricardomurta 3 ปีที่แล้ว +1

    Dark

    • @rinaldodev
      @rinaldodev  3 ปีที่แล้ว

      Agora é o padrão, Ricardo! Valeu!

  • @RMoreiraRM
    @RMoreiraRM 3 ปีที่แล้ว +1

    dark

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

    Dark