REPOSITORY PATTERN COM SOLID DO JEITO CERTO | DOTNET CSHARP

  Рет қаралды 15,584

Cristian William Dev

Cristian William Dev

Күн бұрын

Пікірлер: 121
@felipecouto9044
@felipecouto9044 11 ай бұрын
Obrigadão cara! Tô aprendendo DDD em dotnet e apesar de fazer um curso completão, esse seu simples vídeo me ajudou bastante, volta e meia vejo novamente para fixar o conceito, muito brigado, sucesso irmão!
@cristianwilliamdev
@cristianwilliamdev 11 ай бұрын
Cara que dahora, DDD é maneiro, enriquece demais a forma como a gente desenvolve e estrutura o código, vai firme mano!
@eng.wandeson
@eng.wandeson 2 жыл бұрын
Cara, muito bom! É uma forma inteligente de utilizar a composição!
@carlosoliveiratube
@carlosoliveiratube Жыл бұрын
Muito bom hein!!! Parabéns pelo video.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vlww mano! Da uma olhada no video que falo do porque não uso tanto assim repository, talvez goste da ideia!
@ozielsilva9037
@ozielsilva9037 Жыл бұрын
Muito bom cara, me lembro de você, sempre observando as boas praticas. Bom trabalho.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Feraaaa Oziel! Me lembro de voce mano! Maneiro de ver por aqui! Vlwww demais pela visita mano!
@AndersonSchmitt
@AndersonSchmitt 10 ай бұрын
Primeiro vídeo que vejo do seu canal. Já me inscrevi! Demais!!!
@cristianwilliamdev
@cristianwilliamdev 10 ай бұрын
Porra que foda mano! FIco feliz demais de saber disso!
@robertoshendoo4165
@robertoshendoo4165 2 жыл бұрын
excelente conteúdo, sempre aprendendo algo novo, fazia meu repositoryBase com apenas o necessário, por exemplo post e update, e o getByName do meu usuarioRepository implementava sem composição, passando meu DbContext, em vez do meu repositoryBase. Espero que seja uma boa prática, pelos dev
@GabrielOliveira-ox4bg
@GabrielOliveira-ox4bg 8 ай бұрын
Comecei a fazer arquitetura limpa na minha API e estava querendo entender melhor os conceitos a se aplicar em cada camada, foi muito bom sua explicação, eu já fazia isso com as repository pelo seu mesmo pensamento.
@gabrielbezerradesouza910
@gabrielbezerradesouza910 2 жыл бұрын
melhor aula q já vi
@marciokoehler6269
@marciokoehler6269 Жыл бұрын
Muito bom teus vídeos irmão. Parabéns. Tô ligado no canal. Abraço
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vlww mano! Tmj demais!
@emiliosds
@emiliosds Жыл бұрын
Muito bacana, essa abordagem resolve uma outra questão não explorada no vídeo, os testes automatizados. Como dito, ao implementar o repositório genérico, o UsuarioRepository teria o Delete, na hora de fazer o teste automatizado, você teria que fazer uma validação para garantir que o Delete não fosse utilizado, porém, conforme ilustrou, o Delete nem deveria existir no UsuarioRepository , ou seja, teria uma validação que nem faz sentido no meu software. Da forma como implementou, o teste não precisa essa validação, deixando o software mais enxuto e mais limpo. Show de bola, obrigado por compartilhar essa estratégia.
@FernandoSilva-yv4bc
@FernandoSilva-yv4bc Жыл бұрын
isso resolve um falso problema, os testes devem ser feitos em funcionalidade,services,case uses, e não em abstrações
@gilmar69047
@gilmar69047 Жыл бұрын
Eu utilizo este design pattern de uma forma um pouco diferente, mas sua implementação ficou melhor que a minha.... vou anotar aqui no caderninho... parabéns
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Aiii sim mano, implementa e me diz na pratica como ficou...
@gabrielloureirog
@gabrielloureirog 2 жыл бұрын
Muito obrigado, realmente foi bom para entender as injecções e tudo mais. Só queria saber se tem algum video seu explicando a montagem do RepositoryBase, trazendo o dbContext pra ele e tudo mais... Estou com essa dificuldade.
@gabrieldesouza4927
@gabrieldesouza4927 2 жыл бұрын
Excelente, muito esclarecedor.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vlww 🤘🏻
@JulioBacoli
@JulioBacoli 3 жыл бұрын
Que canal top de assistir. Valeu jovem
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Vlw meu amigo! Tmj!!
@pcbarbassa
@pcbarbassa 2 жыл бұрын
Excelente explicação!!! Muito obrigado pela clareza e objetividade!
@duduplaybyt
@duduplaybyt Жыл бұрын
Caramba, as minhas implementações estavam desta forma e ter metodos que eu nao iria utilizar me incomodava bastante. As vezes era comum que eu fizesse algum tipo de validação pra garantir que elas nao fossem utilizadas kkkk. Muito bacana seu video, ajudou bastante!
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Tmj mano! Obrigado pelos comentários!
@rafaelscheffer1262
@rafaelscheffer1262 2 жыл бұрын
Bem bacana essa implementação composição é um pattern que eu preciso dar uma estudada. No dia a dia acabo usando mta herança com polimorfismo
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Boaa mano!
@Tibiafy
@Tibiafy 3 жыл бұрын
Cara... muito top essa aula. Parabéns msm
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Vlw mano! Isso é mega importante
@Tibiafy
@Tibiafy 3 жыл бұрын
@@cristianwilliamdev pois é.. eu estava tentando entender um projeto aqui da empresa que fizeram isso.. ai seu vídeo caiu como uma luva meu kirido. Tmj gratidão
@guilhermevinis
@guilhermevinis 2 жыл бұрын
Excelente
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vkwww mesmo! 🤘🏻🤘🏻
@CledsonPachecoEngComp
@CledsonPachecoEngComp 3 жыл бұрын
Top demais a abordagem!!!
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Vlww mano!
@Ilovecode
@Ilovecode 2 жыл бұрын
Ta de parabéns mano, excelente explicação.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vkwww mesmo! 🤘🏻🤘🏻
@marciokoehler6269
@marciokoehler6269 Жыл бұрын
Cara, que top teus vídeos. Muito esclarecedor esse conceito. Abraços irmão.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Obrigado mano! No proximo, vamos entender pq eu não uso mais repos ashusahuhsua
@marciokoehler6269
@marciokoehler6269 Жыл бұрын
@@cristianwilliamdev 😂 Vi que tem umas tretas com o repositório genérico mesmo. Ansioso então pelo próximo vídeo. Abraço
@slopesjoe
@slopesjoe 2 жыл бұрын
Valeu professor Christian! excelente aula!
@jonathansantos3182
@jonathansantos3182 2 жыл бұрын
Muito bom, parabéns👏🏽
@hermesfranklin
@hermesfranklin Жыл бұрын
Sensacional
@paulosantiago7831
@paulosantiago7831 Жыл бұрын
Ótimo conteúdo! Deixo como sugestão fazer a mesma versão desse projeto com Dapper. Já me deparei com muitas situações onde o EF não é viável dada a complexidade de bancos de dados antigos e mal relacionados.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
SIm sim, mas o EF atualmente consegue trabalhar montando queries também e tal, mas sim, o Dapper é mais simples de usar, e as vezes mais eficiente! Obrigado pela dica mano!
@otakuPainZ900
@otakuPainZ900 2 жыл бұрын
Que Aula! #congrats
@OHugoOliveira
@OHugoOliveira 3 жыл бұрын
Sensacional, parabéns pelo conteúdo Cristian!
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Muito obrigado Hugo! Legal demais saber disso!
@abn.tecnologia
@abn.tecnologia 10 ай бұрын
Ótima estratégia!!
@cristianwilliamdev
@cristianwilliamdev 10 ай бұрын
Ai sim! Dahora em mano! Tmj!
@stefanysoaresbento3408
@stefanysoaresbento3408 3 жыл бұрын
Conteúdo incrível!!!
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Muito obrigado 😃
@nivaldobrasil
@nivaldobrasil 2 жыл бұрын
muito bom
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vkwww mesmo! 🤘🏻🤘🏻
@reinaldonascimento
@reinaldonascimento 2 жыл бұрын
Show!
@Romope
@Romope 2 жыл бұрын
Muito bom mano, uma pergunta...se o RepositoryBase tem 5 métodos e eu preciso de 4 deles, vou ter que ficar implementar os 4 métodos, se for em um repositorio, ok. Mas se for em 30% de todos eles já fica cansativo, no caso eu teria que criar uma nova composição com os 4 métodos onde essas classes herdariam essa nova porção também? E se outros 30% só precisam de 3 metodos? Acaba que a solução que não viola o SOLID fica muuuuuito verboso ter que fazer várias implementações paralelas. Se pensar em um contexto de 100 respositórios....30 usam tudo(5 métodos), 30 usam 4 e 40 usam 3....me encheu de trampo nesse rolê hehe.
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
hahahah isso real fica verboso mano, mas é a solução para que sua classe não seja obrigado a implementar métodos que não precisam... O foco do video foi SOLID... Mas claro que também é importante ver se isso se enquadra em seu cenário sem infligir boas práticas e também o domínio do negócio.
@robinsonrenato
@robinsonrenato 2 жыл бұрын
Q show
@antoniomarcos5664
@antoniomarcos5664 2 жыл бұрын
Show de bola Cristian. Eu costumo usar o repositório genérico e conhecia e também a injeção de dependência com typeof mas... não herdo o repositório genérico, ou seja conforme recomendado, uso a composição ao invés de herança. Para cada entidade tem a interface de repositório própria mas que pode usar via composição também o genérico. A classe concreta seria meu repositório genérico, que recebe uma entidade qualquer mas que implementa minha interface genérica. Acho que falando ficou um pouco confuso, né? ... class GenericRepository : IGenericRepository... IDog : IGenericRepository ... class DogRepository : GenericRepository, IDogRepository
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Confuso mano, não saquei não sahusahu a
@GilsonConceição-b2g
@GilsonConceição-b2g Жыл бұрын
Tooooooop!
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Uhuuuu
@jessicabeatrizdasilva5572
@jessicabeatrizdasilva5572 5 ай бұрын
Que vídeo F O D A !
@apollorealms
@apollorealms Жыл бұрын
Sera que isso serve pro meu projeto mobile com sqlite? Tenho uma aplicação com diversas classea diferentes, e todas elas têm operações CRUD. Minha ideia era criar um contexto geral pro banco e implementar genericamente cada operação delas. (Sou iniciante)
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Fala mano! Cara, se esta iniciando é importante sim aprender o repository pattern, e serve para qualquer plataforma este pattern, já que seria algo aplicado na sua api, ali no backend... Então independente de ser mobile, desktop, web, poderia ser aplicado sim. Te convido a assistir um video recente que postei no canal, onde falo o pq não uso tanto assim este pattern! Eu to mais cabeludo, mas confia que é eu mesmo sauhhsuahusa
@apollorealms
@apollorealms Жыл бұрын
@@cristianwilliamdev obrigado, ótimo conteúdo, irei compartilhar
@alpreviatti
@alpreviatti 4 ай бұрын
como não herdo o RepositoryBase preciso injetar o DbSet e ApplicationDbContext ? poderia ter um RepositoryBase minimo pra nao precisar ficar sempre injetando
@joaogabrielv.m328
@joaogabrielv.m328 Жыл бұрын
Mano, que achado foi esse vídeo e seu canal. Ganhou um inscrito
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vlwww meu brother, vamo que vamos 😌😌
@TecnoPlayCanal
@TecnoPlayCanal Жыл бұрын
E se caso eu tiver uma regra de negócio que usuários acima de 25 anos não podem ser adicionados. Em qual camada essa regra de negócio ficará?
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Isso é uma regra de negócio, eu aplicaria no dominio da aplicação... Ou seja, a sua aplicação não poderia deixar criar uma classe usuario com idade superior a 25 anos... Eu gosto da ideia de não deixar criar um objeto invalido
@jesusvieiradelima
@jesusvieiradelima Жыл бұрын
Muito bacana a aula, aprendi muito.. Você tem algum exemplo usando o padrão Service Pattern ??
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Ainda não, ta na fila aqui
@gustavomelo3718
@gustavomelo3718 Ай бұрын
Eu tava pensando sobre o que você falou sobre ferir solid. O fato do meu repositório ter um método não significa que eu tenho que usá-lo, não é? E também penso que o domínio ter uma regra fica em nível de abstração diferente da sua infraestrutura ter uma capacidade. Além disso pode ser que aconteça de um dia você ter que deletar um usuário e nesse cenário, como ficaria o código? Voltaria a usar o repositório base ou teria duas implementações de deletar?
@tomasmonteiro9570
@tomasmonteiro9570 Жыл бұрын
Excelente explicação 👏👏 So uma pergunta: que IDE é essa?
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Salve mano! Eu uso o Rider IDE, ele é uma IDE da JetBrains, como estou no MAC, ele é melhor, pois o VS do Mac será descontinuada pelo Tio Bill!
@tomasmonteiro9570
@tomasmonteiro9570 Жыл бұрын
@@cristianwilliamdev Opah, legal! Achei essa IDE muito atraente e mais leve que o Visual Studio
@rodrigo-tj1gf
@rodrigo-tj1gf Жыл бұрын
krl pior q em um projeto particular meu eu tive exatamente esse problema, mas apenas ignorei msm pq o projeto era meu e ngm mais ia mexer mas eu fiquei curioso com o caso em q algo assim acontecesse em um projeto maior e q funciona ai no mundo de vdd
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
HAhahah boa mano, essa ideia de seguir SOLID faz muito mais sentido, não é mesmo?
@roneikunkel8625
@roneikunkel8625 Жыл бұрын
nem uso csharp mas entendi perfeitamente
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
csharp
@AlissonBeloti
@AlissonBeloti Жыл бұрын
Acredito que continua sem segregação. O correto não seria criar um base para cada operação?
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Cara, na real não tem essa de correto, o que quis dizer no video é que temos que pensar na ideia de Interface Segregation também, criar uma separada daria certo também, mas assim, eu não vejo tanta vantagem assim, ao meu ver, em questão de valor mesmo.
@emersonstori
@emersonstori 2 жыл бұрын
Ficou a duvida de como adicionar o Unity Of Work neste esquema...
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Neste caso, voce não mantem o SaveChanges nos métodos do Repo, terá de chamar o savechanges de fora do Repo...
@LucasAlves-vs6te
@LucasAlves-vs6te 9 ай бұрын
Me tira uma duvida, posso usar esse padão dos dois repository em um unico projeto ou devo sempre usar só apenas um ?
@cristianwilliamdev
@cristianwilliamdev 6 ай бұрын
Cara, isso depende do projeto e da necessidade disso... Lembre sempre de "Keep it simples stupid" KISS
@robinsonrenato
@robinsonrenato 2 жыл бұрын
Christian, analisando essa forma de pensar, eu acabei criando uma outra classe qualquer. Como agora eu posso injetar o _repositoryBase, eu fiz essa injeção nessa classe, criei um objeto do tipo usuario e acessei o método de remover normalmente. Ou seja ele continua desprotegido. Será que estou falando bobagem ?
@dan.salviano
@dan.salviano Жыл бұрын
Também pensei assim. Pensando nesse sentido, não faz sentido todo esse trampo. rsrs
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Vamos dizer que tecnicamente sim, a ideia do Repository base é não usar em classes que não sejam repositories, claro, a ideia do video, é seus repos não expor metodos que não devem ser usados. Hoje em dia eu nem uso mais repos quando tenho o Entity, mas se usa, eu indicaria não usar Generic Repository por causa do problema do video mesmo, eu diria que pensar no Specific Repository Pattern faz mais sentido. Onde voce teria metodos mais especificos, ao inves de um GET generico por exemplo.
@iagofilipe1926
@iagofilipe1926 3 жыл бұрын
Legal, gostei da abordagem, porém acredito que dessa forma desperdiçamos um pouco de espaço instanciando um RepositoryBase pra usar apenas 1 métódo...
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Se a memória for um problema, voce real tem razão, mas a ideia foi mostrar o pq do modo convencional não ir de acordo com SOLID, tmj mano! Obrigado pelo comentário!
@Leanst.
@Leanst. Жыл бұрын
Salve Cristian, bom vídeo, mas vou discordar de que o primeiro modelo do Padrão Repository usando herança fira o ISP, ele não fere se você fizer a sua implementação corretamente. Ao invés de colocar todos os métodos em uma interface e depois ser obrigado a implementá-los, você vai dividir as responsabilidades entre múltiplas interfaces, por exemplo você pode criar algumas interfaces de funcionalidades, por exemplo, IRespositorioUsuarioDelecao, IRespositorioUsuarioArquivar, etc. Com isso, ao herdar a sua classe concreta de Repositório do Usuário, você adiciona as funcionalidades via Interfaces que você quer e pronto, usou a herança lindamente, sem abrir mão das principais funcionalidades e ainda não obrigou a classe a implementar o que não queria. Fica aí a sugestão, abs.
@cristianwilliamdev
@cristianwilliamdev Жыл бұрын
Opaaa, isso funciona sim e garante o ISP, legal demais a ideia, mas no caso, composição não seria menos trabalhoso? Essa pergunta depende do projeto também, mas vlw demais ai pela exp!
@AlissonBeloti
@AlissonBeloti Жыл бұрын
Mudando a Base repository retirando o abstract tb não quebra o Open/Closed?
@OHugoOliveira
@OHugoOliveira 2 жыл бұрын
Salve Cristian, sabe me dizer se no .Net 5 a classe Entity não existe? Estou tentando usar o where TEntity : Entity mas ele não acha essa classe no System.Data
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Mano, essa classe foi eu quem criei, ela é só uma classe abstrata com as propriedades padrões que vão em todas as entidades hahaha Verifica o repositório pra ver como fiz
@OHugoOliveira
@OHugoOliveira 2 жыл бұрын
@@cristianwilliamdev Agora faz sentido hahahahah e o pior que na doc da microsoft existe uma classe com esse nome, o que me bugou ainda mais hahahahah é isso que da pular o vídeo, vlw mano, muito obrigado, baixei o repo aqui e dei uma olhada hahah, mesmo que Entity tenha só o Id lá, sempre que usar o TEntity ele vai usar os dados da classe que eu passei pra ele né?
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Isso mano, o que fiz foi obrigar que todas as classes que sejam passadas no lugar de TEntity, obrigatoriamente tenha que herdar a classe Entity que criei… Eu fiz isso pra que não fosse possível criar um repo com qualquer classe
@OHugoOliveira
@OHugoOliveira 2 жыл бұрын
@@cristianwilliamdev Top manoo, muito obrigado Cristian!!!
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Tmj meu querido! Bons estudos!
@leoteriopancas
@leoteriopancas 3 жыл бұрын
Achei seu conteúdo sensacional, mas como fazer quando há dados relacionados?
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Fala mano! Não entendi muito bem sua dúvida sobre dados relacionados, mas utilizar deste jeito os repositorios, não impede que crie métodos especificos dentro de seu repo além dos CRUDs do repositorio base generico... A ideia principal do repositorio genérico, é não ter que implementar sempre os métodos CRUDs básicos... Espero te ajudado!
@leoteriopancas
@leoteriopancas 3 жыл бұрын
@@cristianwilliamdev Entendi, vc tem esse projeto no github?
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
@@leoteriopancas vou subir hoje e volto aqui com o link, sugiro antes de rodar, configurar um banco de dados no appsettings ou se usa docker, posso deixar no readme o comando docker que usei pra rodar o sql server
@leoteriopancas
@leoteriopancas 3 жыл бұрын
Sua didática é ótima
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
@@leoteriopancas vlw Brother! Vou até printar isso aqui hahaahha
@DPM-TI--MatheusAnalistadesiste
@DPM-TI--MatheusAnalistadesiste 3 жыл бұрын
sabe muito poderiamos fazer uma parceria kkkkkk
@cristianwilliamdev
@cristianwilliamdev 3 жыл бұрын
Só chamar no privado mano, ou lá no Insta @CristianWilliamDev
@gabrielqueiroz7792
@gabrielqueiroz7792 9 ай бұрын
qual o nome da fonte?
@gabrielqueiroz7792
@gabrielqueiroz7792 9 ай бұрын
Operator mono
@lanodecastro
@lanodecastro 2 жыл бұрын
Desculpa meu caro, mas sua justificativa é muito rasa e pretensiosa ao dizer que é a correta. Se deseja usar repository é porque sua aplicação tem aderência aos conceitos do DDD. Se a regra de negócio diz que não vai haver exclusões em uma determinada entidade, então que uma operação de negócio não seja implementada com este objetivo. Um repository nunca deve ser a implementação que orquestrará o fluxo da operação de negócio pretendida. Seu objetivo é fornecer uma abstração de acesso a dados (não somente bancos de dados), de forma de que não crie um acoplamento detalhes de infraestrutura. Uma operação de repository é apenas uma etapa de um fluxo maior. Se assim não for, então a aplicação é mero CRUD e nem precisaria de um repository pra lhe dar com isso, fazendo uso apenas dos ORMs com suas APIs bem projetadas para essas operações mais elementares
@cristianwilliamdev
@cristianwilliamdev 2 жыл бұрын
Obrigado pelos comentários adicionais
@FernandoSilva-yv4bc
@FernandoSilva-yv4bc Жыл бұрын
exato , eu tava a proocura desse comentario kkk, o vídeo resolve um falso problema,
@danieldevfigueiredo
@danieldevfigueiredo Жыл бұрын
Valeu pela reflexão, pô.
@mauraocpt9586
@mauraocpt9586 11 ай бұрын
Isso eu fazia certo sem saber
@cristianwilliamdev
@cristianwilliamdev 11 ай бұрын
Boaaa Maurão, exp é tudo meu irmão ahahah
@mauraocpt9586
@mauraocpt9586 11 ай бұрын
@@cristianwilliamdev , oh brother, trocar o meu nome pode, mas o meu sexo nao 😄😄😄
@cristianwilliamdev
@cristianwilliamdev 11 ай бұрын
Nossa hahahahahahay erro de digitação mano ahahahahha
VOLTEI A TRABALHAR PRO BRASIL, ENTENDA ESSA DECISÃO
18:56
Cristian William Dev
Рет қаралды 7 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
RABBIT MQ: APRENDA MENSAGERIA NA PRÁTICA COM .NET CORE E MASS TRANSIT
1:09:29
Cristian William Dev
Рет қаралды 10 М.
codebehind - Padrão de Projeto Unit of Work Parte 01
14:39
Code Behind - by Rodolfo Fonseca
Рет қаралды 446
Clean Architecture With .NET 6 And CQRS - Project Setup
12:40
Milan Jovanović
Рет қаралды 249 М.
SOLID fica FÁCIL com Essas Ilustrações
19:46
Filipe Deschamps
Рет қаралды 346 М.
ANGULAR: ENTENDA O QUE É HOST NA PRÁTICA
20:45
Cristian William Dev
Рет қаралды 4,4 М.
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН