POR ISSO SEU CÓDIGO ESTÁ SEMPRE BAGUNÇADO! (Use Inversão de Controle e Injeção de Dependências)

Sdílet
Vložit
  • čas přidán 12. 09. 2024
  • 🧠 𝗘𝗦𝗧𝗨𝗗𝗘 𝗡𝗔 𝗔𝗟𝗨𝗥𝗔 → codft.me/alura
    Se você costuma pegar código no GitHub ou no próprio Stack Overflow é preciso organizar seu módulos para utilizar essas adições, o que chamamos de dependências. Ensinamos a aplicar a Inversão de Controle e a Injeção de Dependências e também a refatorar um código para usar esses princípios .
    📝 𝗟𝗶𝗻𝗸𝘀 𝗖𝗶𝘁𝗮𝗱𝗼𝘀
    → SOLID: • SOLID (O básico para v...
    🎙️ Compilado Podcast
    → CZcams: codft.me/canal...
    → Spotify: codft.me/compi...
    → Newsletter: compilado.codi...
    🔗 Mais links do Código Fonte TV
    → codigofonte.tv
    #DesignPatterns #SOLID #CleanCode
    #MãoNoCódigo74

Komentáře • 81

  • @novasideias531
    @novasideias531 Před rokem +43

    Eu não sei vocês, mas depois de 5 anos de trabalho na área, eu sofro de uma síndrome, eu uso boas práticas, sei olhar e dizer se é ou não é uma boa prática, mas NÃO faço ideia dos nomes dos conceitos kkkkkkkkkkkkkkkkkk
    Praticamente tudo que aprendi, aprendi no dia a dia, trabalhando com meu chefe que tem 15 anos de experiência e é um nerd, então eu aprendi observando como ele abordava os problemas, eu entrei no vídeo achando que iria aprender algo novo, mas percebi que sempre faço isso quando vou desenvolver, sempre tento deixar genérico e reutilizável o código e isso passa pela inversão de controle e injeção de dependência, dessa forma nos novos desenvolvimentos tem impactos mínimos em códigos existentes.

    • @rafaelfreitas3545
      @rafaelfreitas3545 Před rokem +2

      Vc não está sozinho 😂

    • @MarceloFirmino85
      @MarceloFirmino85 Před rokem +1

      Eu to aqui só pra decorar o nome daquilo que já sei kkkkk

    • @MarcosDev968
      @MarcosDev968 Před 7 měsíci

      Faço das suas palavras as minhas, pois muita coisa que o Gabriel fez, eu faço simplesmente por osmose, por ter aprendido que é uma boa maneira de se organizar código, além de achar mais bonito também kkkkkk. Depois de um tempo que fui pegando realmente os nomes dos conceitos e refinando o conhecimento.

  • @luizfelipe-ek8tc
    @luizfelipe-ek8tc Před rokem +43

    Seria legal para complementar esse vídeo, fazer testes nos módulos, pq geralmente uma coisa que o desacoplamento trás para nos programadores é a facilidade em escrever testes e hoje em dia os testes é algo muito exigido pelo mercado.

    • @nandomax3
      @nandomax3 Před rokem

      Aí ó, ótimo projeto pra você por no seu github

  • @raizdesamauma8607
    @raizdesamauma8607 Před rokem +7

    Excelente demonstração, com exemplos reais e de fácil entendimento! Seria incrível ter mais outros Mão no Código com outros Design Patterns. Muito agradecido por tantos conhecimentos compartilhados, sempre!

    • @codigofontetv
      @codigofontetv  Před rokem +2

      Ficamos felizes que você gostou do conteúdo. Nós temos mais vídeos sim, sobre o tema. Obrigado por nos acompanhar. Grande abraço

  • @lucasdelima6500
    @lucasdelima6500 Před rokem +5

    Eu estava desenvolvendo meu projeto ontem, e nele preciso usar esses princípios. E justamente ontem que minha ficha caiu sobre como usar! e agora esse vídeo fresquinho veio pra reforçar! Muito bom hein!

  • @sinvalfelisberto
    @sinvalfelisberto Před rokem +4

    Esse é o tipo de conhecimento que separa o programador Júnior do Plano/Senior.
    Implementação de apis usando as melhores práticas!

    • @codigofontetv
      @codigofontetv  Před rokem +2

      Depois que acostuma com esse tipo de implementação é um caminho sem volta. 😊

    • @nandomax3
      @nandomax3 Před rokem

      Eu espero que um júnior já saiba fazer isso depois de poucos meses no time. Pelo menos em Java é impensável você trabalhar sem injeção de dependência

  • @renaneduardo1950
    @renaneduardo1950 Před rokem +1

    Estou estudando pela alura inclusive, esses padrões de projetos. Antes ficava pensando como fazer essa implementação em projetos para não ter um code tão verboso, quando o método dentro de uma classe depende de outro para renderizar, no projeto que estou desenvolvendo declarei uma tabela que tinha que renderizar ao fazer a busca pelos dados e atualizar no index com uma div e foi instanciado dentro do construtor para renderizar o modelo de tabela de negociações.
    Mais com certeza com esse vídeo tive mais entendimento sobre os padrões de projetos.

  • @MarcosDev968
    @MarcosDev968 Před 7 měsíci

    Adorei a aula sobre Inversão de Controle e Injeção de Dependência. É uma prática que ajuda demais na hora de fazer código, deixa o mesmo mais dinâmico e fácil de se consertar no futuro. Confesso que fazer isso no JS é um pouco chato, pois precisa ter um pouco de paciência para ajustar, embora isso seja facilitado aos montes no C# (linguagem que atualmente utilizo mais). Parabéns pelo conteúdo, que é mais do que excelente. Que venham mais desse tipo, e um grande abraço aos dois 😃

  • @gleitonfranco1260
    @gleitonfranco1260 Před rokem +1

    Até agora a melhor explicação de DI && DIP q já vi!

  • @augusto6289
    @augusto6289 Před rokem +1

    No Angular esse e um dos principais conceitos na construção dos projetos que as pessoas desconsideram bastante.
    Parabéns pelo video excelente.

  • @Umrodrigoo
    @Umrodrigoo Před rokem +2

    Sempre bom lembrar das terminologias e nome dos conceitos, utilizo no dia a dia, mas se alguém pergunta-se diria q não lembrava o q era essa inversão kk

  • @antoniomarcos5664
    @antoniomarcos5664 Před rokem +3

    Um dos paradigmas que deve ser compreendido é começar pelos testes. A medida que o refactoring for sendo adicionado, ficará presente o porquê do princípio da inversão de dependência e como realizá -la, seguindo uma abstração contextualizada com o negócio. A maioria dos design patterns primam neste princípio e de uma forma ou de outra, dependendo da natureza do pattern, aplicam técnicas com o objetivo de desacoplar a solução. Iniciando pelos testes a abstração é percebida naturalmente e não é uma viagem maionese abstrata, com exageros que muitas vezes é o que acontece. Dizem que os testes demoram e atrapalham a codificação mas não é verdade. Aplicando-se corretamente, teremos um código bem desenvolvido e coberto pelos testes ao mesmo tempo. Desta forma o teste tem paralelismo com a solução e ambos ficariam prontos simultaneamente. E seriam consistentes por seguirem a forma do problema. Aplicar patterns conforme a necessidade de design pedirá é primordial para não ferir o SOLID.

  •  Před rokem +5

    Vcs tinham que fazer um curso sobre refatoração! Acho que seria um diferencial, ainda mais se for em Python. Vi pouca coisa neste sentido! Só aqui neste canal. Obrigado pelo rico conteúdo!

    • @nandomax3
      @nandomax3 Před rokem +1

      Refatoração é algo tão amplo. Meio que aprendemos a fazer fazendo. Eu sigo o protocolo:
      - cria testes para o que vai ser refatorado
      - refatora
      - teste deve passar, se não deve arrumar a refatoração
      - depois refatoro o teste pra ficar mais bonito e organizado

  • @LeonnelRed
    @LeonnelRed Před rokem +3

    Caramba agora entendi de fato a Injenção de dependência. Fui ver o vídeo, pensei, refleti e entendi. A interface vai executar o código do objeto parametrizado caso tiver duas ou mais implementações da Interface!

    • @codigofontetv
      @codigofontetv  Před rokem +1

      Aeeee! Ficamos felizes em saber que nossa explicação te ajudou.

  • @miltinhogyn
    @miltinhogyn Před rokem +1

    Além da qualidade do conteúdo dos vídeos, você são um casal muito simpático

  • @matheusavila9677
    @matheusavila9677 Před rokem +4

    Esse vídeo veio numa hora excelente pra mim!

  • @ideiax
    @ideiax Před rokem +2

    Um video mais avançado pois poucos devs dominam. Excelente

  • @matheusB18
    @matheusB18 Před rokem +1

    Excelente video justamente quando estou comecando a ver esse conteudo

  • @luizmattos138
    @luizmattos138 Před rokem +2

    Vídeo sensacional!!! Conteúdo bom, direto e com ótima didática!!!

  • @vitorbrussolo9651
    @vitorbrussolo9651 Před rokem +5

    Video maravilhoso, uma duvida que eu estava desde quando comecei no mundo da programação (as coisas serem parecidas no enunciado mais ter propósitos diferentes)

  • @luizgusttavooliveiradesouz1656

    Amo esse tipo de video, muito útil e explicativo!

  • @mariovarela99
    @mariovarela99 Před rokem +2

    Vídeo bem explícito, e conteúdo bem alinhado com as outras referências. Muito bom.

  • @HudsonCoutoSama
    @HudsonCoutoSama Před rokem +2

    Os vídeos de vocês são ótimos... sempre que posso vejo os vídeos, a didatica e como vocês repassam o conhecimento e informações é maravilhoso.. sucesso a vocês

  • @nandomax3
    @nandomax3 Před rokem +2

    O pessoal fala que java é verboso, mas pra fazer isso ai do video em java voce gasta muuuuuito menos esforco. Acho muito legal que pro mundo java codar sem injeção de dependência é um pecado

  • @nicolasreszkarathje5571
    @nicolasreszkarathje5571 Před rokem +1

    Ótimo video!! Ontem mesmo eu estava lendo "Clean Code" do Robert C. Martin, e o vídeo ajudou muito a fixar o assunto.

  • @JoseCarlosNF
    @JoseCarlosNF Před rokem

    Que vídeo maravilhoso 👏. Espero poder aprender sobre outros designs com vcs tbm

  • @sebastiancotta
    @sebastiancotta Před rokem +1

    Excelente exemplo, parabéns pelo vídeo

    • @codigofontetv
      @codigofontetv  Před rokem

      Muito obrigado Rafael! Seu apoio nos ajuda demais. Grande abraço!

  • @PhantonHenderson
    @PhantonHenderson Před rokem +1

    Perfeito!! Estava justamente estudando isso!!

  • @RafaelTrindade
    @RafaelTrindade Před rokem +1

    Ótimo conteúdo como sempre!

  • @andradegilmar
    @andradegilmar Před rokem

    Muito bom, simples e didático!

  • @jeff_araujo_dev
    @jeff_araujo_dev Před rokem

    Curti bastante essa aula, aprendi muito e espero ver testes unitários usando esses designer patterns *_*

  • @AlvaroCamilloNeto
    @AlvaroCamilloNeto Před rokem +2

    Excelente!

    • @codigofontetv
      @codigofontetv  Před rokem +1

      Oi Alvaro! Muito obrigado pelo elogio, ficamos honrados.

  • @fernandocarmo532
    @fernandocarmo532 Před rokem

    Há uns anos atrás, ter sido jogado de paraquedas num projeto Spring sem nunca ter programado absolutamente nada em Java a nível empresarial me ensinou muito sobre esses princípios. Dou risada lembrando da minha frustração tentando explicar pro meu TL que eu não tava entendendo como que a classe dependente tava chamando o código da classe certa se ela era do tipo de uma interface XD

  • @rodrigomedeiroslehnemann7129

    Excelente vídeo turma, seria muito interessante um vídeo sobre a SGDK, uma lib de C para criação de Jogos para Mega Drive e todas as coisas que essa lib consegue criar em um processador Motorola 68k.

  • @emanoelinfinity
    @emanoelinfinity Před rokem +2

    Não usou o decorator do ts não vale kkkk! Como o Luiz Felipe falou, e já vou dando o reforço, um grande benefício vai ser notado nos testes. Ainda estou aprendendo a andar nesse universo da programação, mas esse é um assunto que tem me despertado grande interesse.

  • @rodrigosouza6548
    @rodrigosouza6548 Před 6 měsíci

    No próximo vídeo, gostaria de ver a Vanessa codando. É sempre o Gabriel, hahaa

  • @joseitojunior1749
    @joseitojunior1749 Před rokem

    Show!!

  • @MarceloFirmino85
    @MarceloFirmino85 Před rokem

    Se eu tivesse tido um professor tipo o Gabriel, eu estaria muito acima hoje.

  • @snoiwp
    @snoiwp Před rokem

    Faz um vídeo sobre as tecnologias por trás do jogo Terraria, por favor

  • @arturcortez5555
    @arturcortez5555 Před rokem

    Sensacional!!!

  • @rafaelkontein2683
    @rafaelkontein2683 Před rokem

    Seria legal também um video sobre Kotlin KMM!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @Scott_Redfield
    @Scott_Redfield Před rokem

    O resultado da pesquisa vai sair quando?

  • @julioCk
    @julioCk Před rokem +1

    Beleza, mas isso não muda o fato que na Austrália há 48 milhões de cangurus e no Uruguai há 3.457.480 de habitantes, então se os cangurus decidirem invadir o Uruguai, cada uruguaio terá que lutar com 14 cangurus.

  • @eduardoguerra560
    @eduardoguerra560 Před rokem

    #CódigoFonteTV _ Eu tive um duvida repentina. Sei que não tem muito a ver com o que está sendo passado. Ainda não sou programador. Mas, caso eu me forme programador java. Eu posso fazer alteração de um Software para meu uso? exemplo-Internet Download manager ou outros.

    • @luclorencini
      @luclorencini Před rokem

      Se voce tiver acesso ao código-fonte, sim

  • @felipejre
    @felipejre Před rokem

    Não entendi nada, mas é isso aí mesmo

  • @BenjamimDenis
    @BenjamimDenis Před rokem

    inserAdjacent*(html, text, element)

  • @rharisonl
    @rharisonl Před rokem

    É possível usar esses conceitos ser utilizar POO? Na programação funcional por exemplo.

    • @gustavohitomi1999
      @gustavohitomi1999 Před rokem +1

      Sim, os principios SOLID funcionam no paradigma funcional, em alguns casos é até mais fácil de implementar.

  • @LucasRosinelli
    @LucasRosinelli Před rokem

    Obrigado pelo vídeo pessoal. Muito bom!
    Juro que quando a Vanessa começou a falar no 4:17 eu achei que ela ia dizer: "Desculpa que eu tô meio gripada/resfriada, um pouco entupida"... se estiver mesmo um pouco mal de saúde, desejo melhoras pra vc. E parabéns pelo esforço extra pra trazer esse conteúdo excelente de sempre!!!

  • @jmgame186
    @jmgame186 Před rokem

    Será que eu como programador júnior React preciso me preocupar em aplicar estes conceitos? Uma hora eu sei que será preciso, mas no momento atual é algo que já posso começar a trabalhar para aplicar?

    • @nandomax3
      @nandomax3 Před rokem +1

      No início foca em codar, sem medo de ser feliz. Só depois de codar muito que passa a fazer sentido em pensar na organização. Esses tópicos de clean code e desing patterns é pra quem já tá codando e fazendo código bagunçado. Se você tá começando, essa é a hora de focar em escrever código, sem se preocupar com esses detalhes. Aos poucos você vai aprendendo isso

    • @jmgame186
      @jmgame186 Před rokem

      @@nandomax3 valeu!

    • @pokkari97
      @pokkari97 Před rokem +1

      Deixa mais pra frente. Injeção de Dependência pode complicar muito seu código se for mal usado e muitas vezes não compensa aumentar a complexidade só pra aplicar isso.

  • @muriloloboteixeira4773

    E se hipoteticamente minha aplicação (que eh uma api) SEMPRE (e eu garanto isso) vai usar uma unica forma de autenticar, ou um unico repositorio, ou uma unica implementação de acesso a um dado por ex, implementar esses principios estariam colocando uma complexidade desnecessaria no codigo?

  • @gaelfx6331
    @gaelfx6331 Před rokem

    é só pra mim que eles lembram um pouco o coisa de nerd?

  • @joaotolovi
    @joaotolovi Před rokem +1

    Galera se lembrem que estão falando com todo tipo de gente des de o iniciante, cuidado com termos tecnicos e nichados.

  • @rawsantos9638
    @rawsantos9638 Před rokem

    Ou injeção de dependência e inversão de controle

  • @semedicao587
    @semedicao587 Před rokem

    top

  • @simoesnh
    @simoesnh Před rokem

    Seria ótimo se não houvesse uma música constante. Desagradável para o tipo de vídeo.

  • @BenjamimDenis
    @BenjamimDenis Před rokem

    InnerHtml o calcanhar de aquiles para o dom

  • @SFGerusa
    @SFGerusa Před rokem +1

    No título do vídeo, está: "Use Inversão de Controle e Injeção de Dependência". Mas no vídeo foi falado sobre Inversão de DEPENDÊNCIA (DI), e não de CONTROLE (IoC). Inversão de Dependência E Inversão de Controle, são a mesma coisa? 🥲