295 - LOCK otimista no CASO DE USO | theWiseDev CleanArch

  Рет қаралды 1,808

Otavio Lemos

Otavio Lemos

Күн бұрын

Nesse vídeo eu te mostro uma implementação de lock otimista no caso de uso de uma aplicação de aluguel de bikes com Arquitetura Limpa.
E o mais legal: escrevi um teste que simula o problema de concorrência!
Chega mais para ver que massa...

Пікірлер: 11
@geisonflores
@geisonflores Жыл бұрын
Agora sim ficou massa, cada responsabilidade no seu devido lugar. Valeu pela referencia @otaviolemos!
@lucasfrancaid
@lucasfrancaid Жыл бұрын
Bacana, usamos uma abordagem parecida onde trabalho. Quando tivemos de lidar com erros passamos a criar generic exceptions por RepositoryInterfaces que são utilizadas pelos Adapters e assistidas pelos UseCase, assim conseguimos isolar o Use Case a casos sensíveis de Adapters. Muito bom.
@rc_campos
@rc_campos Жыл бұрын
Caramba, que video sensacional. Ainda não tenho esse problema aqui, mas é bom aprender.
@mauricioaniche
@mauricioaniche Жыл бұрын
Vídeo bem legal! Nesse tipo de problema, uma outra maneira de resolver é implementando um processo parecido com o de reconciliação. Vc basicamente procura por inconsistências de tempos em tempos, e quando achar, resolve ela. Por exemplo, cancelando a reserva, e mandando um e-mail de desculpas pro usuário hahaha
@otaviolemos
@otaviolemos Жыл бұрын
Boa, Aniche, essa eu não conhecia! Para um ambiente em que isso acontece raramente, pode funcionar mesmo. 😄
@pauloafpjunior
@pauloafpjunior Жыл бұрын
Otávio, parabéns pelo vídeo. Sei que estou fugindo um pouco do assunto, mas eu queria saber como você lida com projeções e views do banco de dados usando arquitetura limpa? Os repositórios vão devolver DTOs ao invés de entidades? Obrigado
@josebraz5856
@josebraz5856 Жыл бұрын
O que eu gosto de fazer separar as fontes de dados e injetar isso no repositório. Você teria um datasource específico para o banco prisma, com essa lógica do código de erro que ele emite quando da concorrência. Aí o repository não depende em nada da tecnologia de banco usada
@otaviolemos
@otaviolemos Жыл бұрын
O meu repository é só uma interface, não depende da tecnologia de banco. A implementação do adapter do Prisma depende do Prisma; logicamente.
@otaviolemos
@otaviolemos Жыл бұрын
Acho que entendi: você tem um repositório mais genérico com o código que serve para qualquer adapter e os adapters em si, é isso? Entendo mas acho que fica muita indireção no código. No meu caso não há quase nada que serviria tanto para um adapter quanto para outro.
@lucasmedeiros391
@lucasmedeiros391 Жыл бұрын
Seria possivel disponibilizar este codigo de forma publica no github?
@otaviolemos
@otaviolemos Жыл бұрын
Lucas, ñ posso porque a aplicação é utilizada no processo seletivo da Trio... :)
294 - Concorrência na CLEAN ARCHITECTURE | theWiseDev NFR
17:38
Otavio Lemos
Рет қаралды 2,7 М.
小丑在游泳池做什么#short #angel #clown
00:13
Super Beauty team
Рет қаралды 40 МЛН
А ВЫ ЛЮБИТЕ ШКОЛУ?? #shorts
00:20
Паша Осадчий
Рет қаралды 7 МЛН
SCHOOLBOY. Мама флексит 🫣👩🏻
00:41
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 7 МЛН
Optimistic Locking vs Pessimistic Locking With EF Core
6:22
Milan Jovanović
Рет қаралды 17 М.
Dominando os Princípios SOLID: Exemplos práticos com Java
18:51
290 - SQL ou NoSQL: EIS A QUESTÃO! 🤔 | theWiseDev SQL
25:30
Otavio Lemos
Рет қаралды 2,9 М.
JavaScript Visualized - Event Loop, Web APIs, (Micro)task Queue
12:35
293 - JAVASCRIPT Imutável! | theWiseDev Functional
15:08
Otavio Lemos
Рет қаралды 1,1 М.
小丑在游泳池做什么#short #angel #clown
00:13
Super Beauty team
Рет қаралды 40 МЛН