Faz 2 dias que começei a estudar CSharp, meu deus fiquei perdido, aquela sensação que parece que não vou me aprofundar. Tenho 45 anos, sou Diretor de Arte e me interesso por programação para criação de jogos , alguns Apps e Dashboards. Parabéns pelo canal!
@@baltaio hahaha, eu achei sensacional. Fazia um tempo que eu tava pescando esse conteúdo (pescando eu falo que estou tentando aprender). Assisti alguns vídeos sobre o DIP, mas como você falou no vídeo, utilizar apenas ele é igual trocar por meia dúzia, mas depois de você ter complementado com Inversão de Controle, Testes de Unidade, ficou tudo muito mais claro!
Curtido e Inscrito no canal! Gostei muito do vídeo! Assisti uma vez ontem e, agora novamente, pois em apenas 15min você trouxe a luz muitas dúvidas que eu ainda tinha.
Balta, tenho aprendido muito com teus vídeos, cara! Uma dúvida que eu fiquei foi sobre os ciclos de vida. O singleton é tranquilo. Agora eu não consegui diferenciar o Transient do Scopped. Cheguei a ler a documentação da Microsoft, mas ainda não ficou 100%. Acho que mais pessoas podem ter a mesma dúvida. Caso não tenha feito um vídeo tratando do assunto, gostaria muito de ver.
No exemplo da implementação do DeliveryService, o que você acha de remover aquele using e adicionar o client http no container de DI com addSingleton? Já que um cliente http é um tipo de objeto com tempo de vida útil considerado longo por definição além de ser thread-safe. Se você sempre descarta o cliente http e recria a cada requisição tá perdendo recurso computacional. Daí no DeliveryService, só seria necessário montar o HttpRequestMessage e receber via DI o cliente http pra fazer a consulta. Tô perguntando isso porque eu vejo muita gente descartando a instância do cliente http depois de fazer a consulta, acho que isso acontece porque as pessoas não criam um cliente http genérico e precisam descartá-lo.
Obrigado pela sugestão Alexandre, mas no caso dos Singletons, eles vivem para todos os usuários! Ou seja, todos usuários compartilhariam o mesmo recurso, não seria interessante.
Boa tarde Balta, se um objeto não mantem estado sempre dei preferencia para singleton, entendi o argumento do uso de scoped no impacto positivo do consumo de memoria quando a api está ociosa, mas para apis com chamadas frequentes penso que na abordagem singleton teríamos uma melhor gerencia sobre o consumo de memoria. Estou com um pensamento equivocado?
Boa tarde Guilherme, não sei se entendi muito bem sua pergunta, mas vou tentar responder... Acho que o ponto nem é tanto gestão de memória. Sendo uma classe, será Reference Type e o GC fará o trabalho dele... o ponto são as informações que a classe contém. Tendo uma instância da classe, significa que todos os requests compartilham a mesma informação, ou seja, todos os usuários tem acesso a esta mesma informação. Isto pode ser um problema em determinados cenários. É parecido com o que ocorre quando usamos objetos estáticos por exemplo. Muito obrigado ❤️
Muito bom, Balta! Este conteúdo está muito didático e explica bem os principais conceitos. A implementação desse código é feita por você em algum curso?
TODAS! TODINHAS!! TUDO!! Brincadeira... Não necessariamente, o SL em alguns casos é até considerado um Anti-pattern. Existe um padrão chamado Dependent Explicit Pattern que prevê que esta relação entre abstrações e implementações sejam explícitas! Enfim, como em tudo na arquitetura, nada funciona em TODO projeto! Depende do seu cenário, de como está organizado, do que está usando! Agora que você já sabe o que são tudo isso, cabe a você decidir onde usar
eita... pra programador você abrir a possibilidade do "E SE"... eu jogo dentro de um loop e aí você fica travado e nunca mais faz mais nada na sua vida!!!
Depende muito do projeto! Quando são poucos funciona sim, agora em projetos maiores não rola... Imagina uma solution com 20 projetos? Fica ruim gerenciar...
fala balta blz ? eu sou um dev que trabalha full com o ecosistema do JS/TS(node, react, react native) oq você me diz sobre o nodejs? você acha q é melhor eu investir meu tempo investindo + no node ? ou vc acha melhor eu ir pro c#? tambem estou d olho no laravel eu amo js, porem eu achei o node meio fraco no backend (em relação ao front e ao mobile, n troco js por nada)
Bom dia meu caro! Muito obrigado pelo comentário! Eu acho que JS não resolve tudo, assim como C# ou qualquer outra linguagem/tecnologia. Quem só conhece prego, só dá martelada!! Se já conhece bem este Stack, bola pra frente!
@@baltaio estou bem e você? Obrigado haha. Então, eu acho que responder isso teoricamente não é tão difícil. Basta estudar bem esses padrões (especialmente SOLID). O que é difícil mesmo é responder na prática. A interpretação de regras de negócios pode ser bastante diferente de uma pessoa para outra. Por exemplo, sobre responsabilidade única - isso é muito interpretativo, não acha? Eu tento aplicar ao máximo as técnicas de DDD, princípios SOLID, etc... Mas sempre vão existir code smells.
Explicacao excelente! de facil compreensao e uma serenidade rrsrs, parabens!
Obrigado!
Faz 2 dias que começei a estudar CSharp, meu deus fiquei perdido, aquela sensação que parece que não vou me aprofundar. Tenho 45 anos, sou Diretor de Arte e me interesso por programação para criação de jogos , alguns Apps e Dashboards. Parabéns pelo canal!
Virei seu fã. Parabéns... curti, seguindo e compartilhando...Boa sorte e obrigado.
💜
Com exemplos práticos fica bem mais fácil de entender, muito bom Balta.
Muito obrigado
Com esses exemplos de código na tela enquanto você explica, ficou tão, mais tão simples de entender, show de bola balta! Rapido, simples e ao ponto..
Que ótimo que gostou!!! Muito obrigado pelo feedback
Acho incrível, a capacidade do balta de ensinar as pessoas, parabéns!! Vídeo sensacional balta!!!!
Muito obrigado 😁💜💜
@@baltaio hahaha, eu achei sensacional. Fazia um tempo que eu tava pescando esse conteúdo (pescando eu falo que estou tentando aprender). Assisti alguns vídeos sobre o DIP, mas como você falou no vídeo, utilizar apenas ele é igual trocar por meia dúzia, mas depois de você ter complementado com Inversão de Controle, Testes de Unidade, ficou tudo muito mais claro!
Excelente!
💜💜💜💜💜
tem que atualizar a apresentação, agora é 8 vezes microsoft mvp kkkkk
hahahahahh verdade, eu tinha gravado antes de receber o oitavo prêmio! Muito obrigado ❤️
De quebra ainda aprendi o AddScoped e o AddTransient. Obrigado!!
Ótimo vídeo!! Parabéns!
Obrigado 😃💜
Excelente Balta, muito claro e direto, aprendo muito com seus vídeos, e com exemplos fica ainda mais fácil entender.
Muito obrigado
Este vídeo ficou Duuca👌Acompanho já a um certo tempo seus trabalhos por aqui. Parabéns Balta 👍😃
Balta vc tem me ajudado muito. muito obrigado pelos videos.
Este assunto tem sido mto falado por outros canais esta semana, inversão de dependências, mto bom ver vários pontos de vista. Parabéns pelo vídeo.
Muito obrigado
Que vídeo excelente!
Muito obrigado
O outro vídeo ajudou muito. Agradeço imensamente seu trabalho. Como estudo sozinho em casa, vou basear meus estudos através dele.
Muito obrigado ❤️
Melhor explicação que já vi sobre o assunto, ganhou mais um inscrito
Muito bom
Sempre muito objetivo e claro nas explicações, valeu Balta!!!
Muito obrigado Claudio
Valeu Balta, muito bom1!
💜
Conteúdo chique demais.
💜
Cara excelente, com os exemplos práticos fica muito mais fácil! Parabéns.
Wowwww que bom Jhone! Fico feliz que gostou!
Vou tentar trazer mais assuntos neste formato!
Cara, vídeo muito bom, parabéns
Muito obrigado 😁
Cara. Muito obrigado! De verdade mesmo!
Curtido e Inscrito no canal! Gostei muito do vídeo! Assisti uma vez ontem e, agora novamente, pois em apenas 15min você trouxe a luz muitas dúvidas que eu ainda tinha.
hahahah eu sei como é! Eu também faço isso... as vezes até marco para ver novamente daqui X meses, por que ai já amadureci no assunto!
Muito claro... Valeu Professor!!!
Estamos juntos
Balta, tenho aprendido muito com teus vídeos, cara!
Uma dúvida que eu fiquei foi sobre os ciclos de vida.
O singleton é tranquilo. Agora eu não consegui diferenciar o Transient do Scopped.
Cheguei a ler a documentação da Microsoft, mas ainda não ficou 100%.
Acho que mais pessoas podem ter a mesma dúvida.
Caso não tenha feito um vídeo tratando do assunto, gostaria muito de ver.
balta.io/blog/aspnet-core-dependency-injection
UAU mano, que canal maravilhoso, parabens pelo conteudo meu deus!!!
Grande mestre #balta!
Conteúdo top, parabéns.
Obrigado
Conteúdo incrível Balta
💜💜💜
No exemplo da implementação do DeliveryService, o que você acha de remover aquele using e adicionar o client http no container de DI com addSingleton? Já que um cliente http é um tipo de objeto com tempo de vida útil considerado longo por definição além de ser thread-safe. Se você sempre descarta o cliente http e recria a cada requisição tá perdendo recurso computacional. Daí no DeliveryService, só seria necessário montar o HttpRequestMessage e receber via DI o cliente http pra fazer a consulta. Tô perguntando isso porque eu vejo muita gente descartando a instância do cliente http depois de fazer a consulta, acho que isso acontece porque as pessoas não criam um cliente http genérico e precisam descartá-lo.
Obrigado pela sugestão Alexandre, mas no caso dos Singletons, eles vivem para todos os usuários! Ou seja, todos usuários compartilhariam o mesmo recurso, não seria interessante.
@@baltaio É essa a idéia, um único cliente http para todos
Faz um video sobre admob e outras integrações de propagandas no flutter ?
Bom dia meu querido!!!! Vou tentar mas não tenho muita experiência!
Boa tarde Balta, se um objeto não mantem estado sempre dei preferencia para singleton, entendi o argumento do uso de scoped no impacto positivo do consumo de memoria quando a api está ociosa, mas para apis com chamadas frequentes penso que na abordagem singleton teríamos uma melhor gerencia sobre o consumo de memoria. Estou com um pensamento equivocado?
Boa tarde Guilherme, não sei se entendi muito bem sua pergunta, mas vou tentar responder...
Acho que o ponto nem é tanto gestão de memória. Sendo uma classe, será Reference Type e o GC fará o trabalho dele... o ponto são as informações que a classe contém.
Tendo uma instância da classe, significa que todos os requests compartilham a mesma informação, ou seja, todos os usuários tem acesso a esta mesma informação. Isto pode ser um problema em determinados cenários.
É parecido com o que ocorre quando usamos objetos estáticos por exemplo.
Muito obrigado ❤️
Podia ter um vídeo consumindo uma API .Net Core SPA com o SAPUI5 no front end
Poder podia, massssssssss
@@baltaio Ou add um curso na plataforma Balta.io utilizando o SAPUI5 consumindo API .Net Core 3.1. 😬 Abraço.
Muito bom, Balta! Este conteúdo está muito didático e explica bem os principais conceitos. A implementação desse código é feita por você em algum curso?
Boas Leandro, muito obrigado pelo comentário! Sim, em diversos cursos usamos isto, mas fica bem explícito nos cursos 1975 e 7182 do nosso portal
Esse exemplo seria de uma API?
Em algum momento vi um "Route" ali no código...
Sim! balta.io/cursos/refatorando-para-testes-de-unidade
Parabéns pelo vídeo, André. Só uma dúvida, eu devo utilizar service locator para todas as minhas abstrações? Obrigado.
TODAS! TODINHAS!! TUDO!! Brincadeira...
Não necessariamente, o SL em alguns casos é até considerado um Anti-pattern. Existe um padrão chamado Dependent Explicit Pattern que prevê que esta relação entre abstrações e implementações sejam explícitas!
Enfim, como em tudo na arquitetura, nada funciona em TODO projeto! Depende do seu cenário, de como está organizado, do que está usando!
Agora que você já sabe o que são tudo isso, cabe a você decidir onde usar
Mais difícil é quando começa os "E se.."... "E se.. vc ganhar a vaga e um mês depois receber uma proposta muito melhor? " 😒
hahahahahah realmente.... foca em um e vaiii!!!
eita... pra programador você abrir a possibilidade do "E SE"... eu jogo dentro de um loop e aí você fica travado e nunca mais faz mais nada na sua vida!!!
@@curyrodrigo eu na vida kkk
Costumo dizer que com SOLID bem aplicado, eh possível criar softwares muito bons
Booooaaa Diego!! Resumiu tudo... só com isso, bem aplicado, já resolveria 90% dos problemas!
Alguem poderia me dizer o que um desenvolvedor .net jr precisa saber/conhecer?
Bdd, tdd e ddd
Tem algum vídeo fazendo um som naquela Mesa Boogie lá no fundo? rsrs
Nossa, queria muito gravar, mas ia perder muitos inscritos hahahahahaha melhor manter só no Dev mesmo 💜
Oi balta, o que vc acha de vários projetos independentes numa mesma solution?
Depende muito do projeto! Quando são poucos funciona sim, agora em projetos maiores não rola... Imagina uma solution com 20 projetos? Fica ruim gerenciar...
@@baltaio Muito obrigada pela resposta.
fala balta blz ?
eu sou um dev que trabalha full com o ecosistema do JS/TS(node, react, react native)
oq você me diz sobre o nodejs?
você acha q é melhor eu investir meu tempo investindo + no node ?
ou vc acha melhor eu ir pro c#?
tambem estou d olho no laravel
eu amo js, porem eu achei o node meio fraco no backend (em relação ao front e ao mobile, n troco js por nada)
Bom dia meu caro! Muito obrigado pelo comentário!
Eu acho que JS não resolve tudo, assim como C# ou qualquer outra linguagem/tecnologia. Quem só conhece prego, só dá martelada!!
Se já conhece bem este Stack, bola pra frente!
agora 8x MVP, tem que regravar a intro kkkkkk
hahahahah pois é!!! nos próximos! Muito obrigado ❤️
Eu sou Junior e sei responder tudo isso aí. Será que estou me subestimando?
Boas Renzo, como vai? Primeiramente parabéns!!! Não são perguntas fáceis hahahahah
@@baltaio estou bem e você? Obrigado haha. Então, eu acho que responder isso teoricamente não é tão difícil. Basta estudar bem esses padrões (especialmente SOLID). O que é difícil mesmo é responder na prática. A interpretação de regras de negócios pode ser bastante diferente de uma pessoa para outra. Por exemplo, sobre responsabilidade única - isso é muito interpretativo, não acha? Eu tento aplicar ao máximo as técnicas de DDD, princípios SOLID, etc... Mas sempre vão existir code smells.
8 vezes! Kkk
8!!!! Não é 7, não é 9!!!! hahahahaha