Balta, muito, muito, muito obrigado! Me lembro de pedir a você para fazer um video explicando CQRS e confesso que estou muito feliz com o resultado. Me tirou muitas dúvidas, pois sempre que ouvia falar de CQRS era com mais um monte de "coisas embutidas", e as vezes, queremos apenas entender e ver o básico, o conceito, a implementação, para seguir em frente. Cara, meus parabéns! Muita força e sucesso!
A aula do cara nem era específicamente sobre Mediator e ele em 2 minutos me fez entender um bagulho que eu venho estudando há semanas sem sucesso. Parabéns, pelo conteúdo!
Peguei pela primeira vez uma api com padrão mediator usando a LIB MEDIATR ,não tinha nenhum conhecimento, gostei bastante ,assisti um vídeo e já aprendi, e entreguei oq a empresa pediu sem maiores problemas.
O bom de assistir aos vídeos do Balta é o código simples e limpo, assim fica bem fácil de entender o conceito, daí mais tarde se a gente quiser implementar algo a mais fica ao nosso critério, mas o importante mesmo nós pegamos aqui. Didática simples porém rica, direta e limpa, é para poucos, parabéns Balta e obrigado!
Top, Parabéns Balta... Obs . Mais de 400 acessos até o momento que assisti, e 85 like... não entendo porque o pessoal não da Like, um conteúdo top desse e de graça... mais mesmo assim parabéns pelo conteúdo....
Caraca, que conteúdo f***, muito bem explicado, não tinha entendido nada sobre MediatR, mas pegando assim o projeto do começo fica muito melhor de entender, entendi mais sobre o CQRS agora, espero começar a usar em futuros projetos. Uma pequena dúvida sobre a estrutura do Domínio, no caso de uma aplicação grande com vários módulos, tipo um ERP (monolito mesmo) com módulos de Cadastro, Estoque, Financeiro, Relatórios, etc.. como vc organizaria o domínio? Você acha interessante separar pelos módulos, por exemplo: - Domain.Cadastro.Commands - Domain.Cadastro.Handlers - Domain.Estoque.Commands - Domain.Estoque.Handlers
Boas Júnior, acho que a organização em um sistema grande vai muito além disso... começaria pelos Context Maps do DDD por exemplo... mas é pauta pra umas 20 horas de bate papo hahaha
Balta tudo bem? Sigo seu canal já faz um bom tempo. Este é o primeiro sobre Mediator. Excelente por sinal. Mas se quiser implementar um get na solução, seria fácil? Poderia me dar uma ajuda pfv? Abç!
Olá, seu vídeo é muito bom!! só me surgiu uma dúvida. A Classe EmailService, porque não usar um outro Handler como CreateEmailHandler ao invés de usar o serviço de envio de email? Eu posso chamar um handler dentro de outro?
@Balta, neste caso usando os commanda ali no domínio, ele substituiria meus Domain Services? Vejo bastante sendo usado na camada de Application, sendo os commands substitutos para os Domain services, concorda com esta abordagem também?
@@baltaio aaaaaaaaaaah, que susto, eu fiquei com um leve medo de ter que ficar pegando versão antiga do .net pra fazer qualquer coisa, em vez de sempre só trabalhar com a mais atual.
Olá, bom dia. Estou procurando um curso de ASP.Net Core 3 com Entity Framework Core com MySQL. Sempre mexi com WebForms e queria um curso direcionado pra este contexto. Nunca mexi com MVC e/ou Razor. Neste caso, poderia me indicar algum caminho? Obrigado. Abs.
@@baltaio Sem problemas. O foco mesmo é aprender o conceito do ASP.Net Core 3 com Entity Framework e MVC/Razor. Se puder me manda o link pra eu analisar. Valeu!
Material muito bom! Fala Balta, blz? Estou começando agora meus estudos em CQRS e estou construindo um projeto para meus estudos e estou com a seguinte dúvida. Cenário: Eu tenho uma entidade Fornecedor e outra de Endereço, sendo que a de endereço depende do Fornecedor para existir. Relacionamento Fornecedor (1) -> (N) Endereco. Quando o usuario for registrar um novo registro, além de salvar os dados do Fornecedor, também quero salvar o endereço na mesma transação. Dúvida: Atualmente, venho fazendo o COMMIT da transação no final dos metodos dos Handlers, então ao passar pelo Handler de Fornecedor, os dados ja foram validados e persistidos, mas eu ainda preciso de validar e salvar o endereço. Qual seria a melhor abordagem que devo seguir para fazer somente um COMMIT sem ter a necessidade de fazer rollback? Valeu!
Bom dia Fabio, como vai? Esta é uma dúvida sobre persistência de dados e transação, pro CQRS isto independe. Para melhorar isto, você pode subir o commit para os controllers como faço nos cursos, assim pode transacionar entre Handlers!
@@baltaio Bom Dia Balta. Entendi. Eu pensei que eu deveria gerar um evento no Handler do Fornecedor e esse evento chamaria o o Handler de Endereço. Como eu estou seguindo o DDD, vou subir o Commit para a camada de Application, onde orquestro todo o processo. Valeu pela dica. ;)
Balta, beleza? Eu tenho uma dúvida sobre a performance do Mediator, eu já tentei procurar por um comparativo e não achei nada, consegue me ajudar com essa dúvida? Valeu!
Balta obrigado pelo conteúdo. Só encontrei um ponto negativo no MediatR, não consigo fazer um debug entrando no handle do request, não consegui ir navegando na cadeia da requisição. Alguma dica sobre debug ou como resolver essa questão? Desde já agradeço. Abraços!
Só pra ajudar quem vier no futuro. Pra debugar tem que abstrair a chamada do send e ir direto no padrão da request, como sabemos que o mediator vai ligar uma request a um Handle especifico, ctrl shift F na request, acha o handle que vai lidar com ele e breakpoint la... Se a request tiver correta, vai bater lá.
Cria uma classe repository que vai acessar o context, injeta no handler e utiliza, nas boas praticas é bom criar uma classe de Service pra e o repository apenas pra acesso ao banco.
Conteúdo excelente, direto ao ponto e sem complicações!!! Obrigado mestre
🚀
Balta, muito, muito, muito obrigado! Me lembro de pedir a você para fazer um video explicando CQRS e confesso que estou muito feliz com o resultado. Me tirou muitas dúvidas, pois sempre que ouvia falar de CQRS era com mais um monte de "coisas embutidas", e as vezes, queremos apenas entender e ver o básico, o conceito, a implementação, para seguir em frente. Cara, meus parabéns! Muita força e sucesso!
A aula do cara nem era específicamente sobre Mediator e ele em 2 minutos me fez entender um bagulho que eu venho estudando há semanas sem sucesso. Parabéns, pelo conteúdo!
💜💜💜💜💜💜💜💜💜💜
O cara explicou em menos de 30 minutos CQRS e MediatR. Só posso dizer fantástico!!!!
🚀
Peguei pela primeira vez uma api com padrão mediator usando a LIB MEDIATR ,não tinha nenhum conhecimento, gostei bastante ,assisti um vídeo e já aprendi, e entreguei oq a empresa pediu sem maiores problemas.
🚀
Conteúdo premium gratuito, valeu Balta, aula sensacional!
🚀
O bom de assistir aos vídeos do Balta é o código simples e limpo, assim fica bem fácil de entender o conceito, daí mais tarde se a gente quiser implementar algo a mais fica ao nosso critério, mas o importante mesmo nós pegamos aqui.
Didática simples porém rica, direta e limpa, é para poucos, parabéns Balta e obrigado!
Obrigado pelo comentário, participa da nossa comunidade no Discord:
balta.io/discord
Top, Parabéns Balta... Obs . Mais de 400 acessos até o momento que assisti, e 85 like... não entendo porque o pessoal não da Like, um conteúdo top desse e de graça... mais mesmo assim parabéns pelo conteúdo....
Bora dar like que faço mais :D
balta.io o meu like quando entrei já deixei aí kkkk. Deixa no meu tbm th-cam.com/users/valdirferreira20 kkkkk,
Sensacional Balta, muito obrigado! O mínimo que uma pessoa tem que fazer quando ver esse vídeo é dar like e inscreve-se. Valeu!
hahahahahah muito obrigado
O Balta faz qualquer coisa parecer fácil
💜
Muito obrigado, consegui entender tudinho e agora consigo desenvolver melhor.
💜
Obrigado pela explicação Balta!
Parabéns! Ótimo conteúdo e muito didático.
Muito obrigado 💜
Balta, meus parabéns pelos vídeos!!
Muito bom! Direto no ponto.
Ótima explicação 👏👏
Que bom que gostou
Conteúdo excelente e otima didática. Parabéns André.
Muito boa a explicação!! simples e didático
obrigado Balta!
Excelente
brabo demais, parabens! muito didático
Excelente explicação, Balta como eu faço pra ter um response genérico no Handle?
Existem várias formas, dá uma olhada nos nossos cursos!
Caraca, que conteúdo f***, muito bem explicado, não tinha entendido nada sobre MediatR, mas pegando assim o projeto do começo fica muito melhor de entender, entendi mais sobre o CQRS agora, espero começar a usar em futuros projetos.
Uma pequena dúvida sobre a estrutura do Domínio, no caso de uma aplicação grande com vários módulos, tipo um ERP (monolito mesmo) com módulos de Cadastro, Estoque, Financeiro, Relatórios, etc.. como vc organizaria o domínio?
Você acha interessante separar pelos módulos, por exemplo:
- Domain.Cadastro.Commands
- Domain.Cadastro.Handlers
- Domain.Estoque.Commands
- Domain.Estoque.Handlers
Boas Júnior, acho que a organização em um sistema grande vai muito além disso... começaria pelos Context Maps do DDD por exemplo... mas é pauta pra umas 20 horas de bate papo hahaha
@@baltaio Entendi, blz vou me aprofundar mais no assunto.
Vou me inscrever no canal e aguardar esse papo aí, kkkk
(y)
usei O MeditR em conjunto do HangFire em serviçoes diferentes, dai foi necessário uma conexão com o banco de dados que serviu como uma fila de dados
🚀
Balta libera um cupom de desconto para a gente poder assinar seus cursos nessa quarentena.
NON TEM DESCONTO, JA TA BALATO!!!!
Balta tudo bem?
Sigo seu canal já faz um bom tempo.
Este é o primeiro sobre Mediator. Excelente por sinal.
Mas se quiser implementar um get na solução, seria fácil? Poderia me dar uma ajuda pfv?
Abç!
Seria a mesma coisa... Command > Handler > Resultado pra tela... 💜
Olá, seu vídeo é muito bom!! só me surgiu uma dúvida. A Classe EmailService, porque não usar um outro Handler como CreateEmailHandler ao invés de usar o serviço de envio de email? Eu posso chamar um handler dentro de outro?
Show
@Balta, neste caso usando os commanda ali no domínio, ele substituiria meus Domain Services? Vejo bastante sendo usado na camada de Application, sendo os commands substitutos para os Domain services, concorda com esta abordagem também?
Balta, para eu iniciar em C#, qual curso você me indica em seu canal para começar
Está carreira aqui
balta.io/carreiras/desenvolvedor-backend-dotnet
O que é basicamente o conceito de handle? Seria algo como função para lidar com?
Uma função que manipula uma ação, um comando...
Mas porque usar um dotnet tão antigo, e não um mais novo como 6 ou 7, qual seria a motivação da escolha ? ( to começando na área ).
Este vídeo é antigo, não tinha o 6 ou 7 na época! 🚀
@@baltaio aaaaaaaaaaah, que susto, eu fiquei com um leve medo de ter que ficar pegando versão antiga do .net pra fazer qualquer coisa, em vez de sempre só trabalhar com a mais atual.
Olá, bom dia. Estou procurando um curso de ASP.Net Core 3 com Entity Framework Core com MySQL. Sempre mexi com WebForms e queria um curso direcionado pra este contexto. Nunca mexi com MVC e/ou Razor. Neste caso, poderia me indicar algum caminho? Obrigado. Abs.
Bom dia João, com MySQL não temos, apenas com MSSQL!
@@baltaio Sem problemas. O foco mesmo é aprender o conceito do ASP.Net Core 3 com Entity Framework e MVC/Razor. Se puder me manda o link pra eu analisar. Valeu!
Balta-sensei, quais as extensões do seu vscode?
balta.io/blog/visual-studio-code-instalacao-customizacao
Material muito bom!
Fala Balta, blz?
Estou começando agora meus estudos em CQRS e estou construindo um projeto para meus estudos e estou com a seguinte dúvida.
Cenário: Eu tenho uma entidade Fornecedor e outra de Endereço, sendo que a de endereço depende do Fornecedor para existir. Relacionamento Fornecedor (1) -> (N) Endereco. Quando o usuario for registrar um novo registro, além de salvar os dados do Fornecedor, também quero salvar o endereço na mesma transação.
Dúvida: Atualmente, venho fazendo o COMMIT da transação no final dos metodos dos Handlers, então ao passar pelo Handler de Fornecedor, os dados ja foram validados e persistidos, mas eu ainda preciso de validar e salvar o endereço.
Qual seria a melhor abordagem que devo seguir para fazer somente um COMMIT sem ter a necessidade de fazer rollback?
Valeu!
Bom dia Fabio, como vai? Esta é uma dúvida sobre persistência de dados e transação, pro CQRS isto independe.
Para melhorar isto, você pode subir o commit para os controllers como faço nos cursos, assim pode transacionar entre Handlers!
@@baltaio Bom Dia Balta.
Entendi.
Eu pensei que eu deveria gerar um evento no Handler do Fornecedor e esse evento chamaria o o Handler de Endereço.
Como eu estou seguindo o DDD, vou subir o Commit para a camada de Application, onde orquestro todo o processo.
Valeu pela dica. ;)
Balta, beleza? Eu tenho uma dúvida sobre a performance do Mediator, eu já tentei procurar por um comparativo e não achei nada, consegue me ajudar com essa dúvida? Valeu!
medium.com/swlh/dependency-injection-v-mediatr-a-simple-c-benchmark-32630ff864ea
@@tcfialho Obrigado!
Balta obrigado pelo conteúdo.
Só encontrei um ponto negativo no MediatR, não consigo fazer um debug entrando no handle do request, não consegui ir navegando na cadeia da requisição.
Alguma dica sobre debug ou como resolver essa questão?
Desde já agradeço. Abraços!
Eu coloquei vários pontos negativos ali.
Sobre o debug, colocando o Break Point dentro do Handler vai.
Só pra ajudar quem vier no futuro. Pra debugar tem que abstrair a chamada do send e ir direto no padrão da request, como sabemos que o mediator vai ligar uma request a um Handle especifico, ctrl shift F na request, acha o handle que vai lidar com ele e breakpoint la... Se a request tiver correta, vai bater lá.
Chaves sem quebrar linha? É javascript isso aqui?
#JeyÉssiCharpie
Como conseguir acesso ao DbContext, ou repositório no handler por meio de DI?
Cria uma classe repository que vai acessar o context, injeta no handler e utiliza, nas boas praticas é bom criar uma classe de Service pra e o repository apenas pra acesso ao banco.