Refatoração do ERP na Prática #21. Movendo Create e Remove para Use Cases | TDD, Build in Public

Neste vídeo, fechamos a migração dos endpoints do módulo de bancos para use cases. Depois de criar UpdateBank, GetBankList e GetBankById, agora movemos a criação e a remoção para CreateBank e RemoveBank. A ideia é tirar cada vez mais lógica do controller e deixar o main apenas coordenando HTTP, enquanto a aplicação fica isolada em casos de uso. Também reaproveitamos o BankDaoFake nos testes para validar os use cases sem depender diretamente do MySQL. Isso mostra a vantagem prática da arquitetura hexagonal: depois que portas, adapters e testes estão montados, mover novos comportamentos fica mais rápido e seguro. No final, ainda entra uma conversa importante sobre ERP legado, Delphi, sistemas acoplados, stored procedures, triggers, testes automatizados e como começar uma migração aos poucos sem tentar reescrever tudo de uma vez. --------------------------------------------------------------------------------------------------------- Hub do Canal: https://refatorador.com Comunidade (apenas avisos, sem SPAM): https://refatorador.com/whatsapp Projeto no GitHub: https://github.com/drummerpva/erp Capítulos 00:05 Criando o use case de criação 00:39 Preparando o teste do CreateBank 01:49 Removendo dependência de HTTP no teste 02:12 Validando a criação com outro use case 04:14 Criando a classe CreateBank 05:11 Movendo a lógica de criação 05:50 Teste do CreateBank passando 06:01 Usando CreateBank no controller 06:49 Testando com fake e database 07:20 Partindo para o RemoveBank 07:57 Preparando o teste de remoção 09:25 Validando hard delete 11:09 Criando a classe RemoveBank 12:17 Usando RemoveBank no controller 13:07 Todos os endpoints em use cases 13:15 Próximo passo: tipar inputs e outputs 14:05 Caminho para adapters e Clean Architecture 14:28 Regras de negócio que ainda faltam 15:48 Commit e push da refatoração 17:24 Conversa sobre ERP legado em Delphi 19:49 Migração, testes e sistemas acoplados 21:22 Stored procedures, triggers e regras no banco 22:15 Como começar uma versão web/API 24:08 Abstrações para trocar tecnologia no futuro 25:12 Testes, performance e problema N+1 #programação #refatoração #devbrasil #tdd

Refatoração do ERP na Prática #23. Tipando Todos os Use Cases | TDD, Build in Public
▶︎

Refatoração do ERP na Prática #23. Tipando Todos os Use Cases | TDD, Build in Public

Gemini CLI Essentials – Full Course
▶︎

Gemini CLI Essentials – Full Course

Refatoração do ERP na Prática #24. Regra de Negócio Não Fica no Controller | TDD, Build in Public
▶︎

Refatoração do ERP na Prática #24. Regra de Negócio Não Fica no Controller | TDD, Build in Public

Build a Full-Stack GenAI Project in 4 Hours (FastAPI, React, Supabase)
▶︎

Build a Full-Stack GenAI Project in 4 Hours (FastAPI, React, Supabase)

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

NestJS Full Course for Beginners in 2026 | Build a Production-Ready API
▶︎

NestJS Full Course for Beginners in 2026 | Build a Production-Ready API

Refatoração do ERP na Prática #25. O Bad Smell Antes da Clean Architecture | TDD, Build in Public
▶︎

Refatoração do ERP na Prática #25. O Bad Smell Antes da Clean Architecture | TDD, Build in Public

ASP.NET Core Full Course For Beginners (.NET 10)
▶︎

ASP.NET Core Full Course For Beginners (.NET 10)

CLAUDE CODE ADVANCED FULL COURSE (3 HOURS)
▶︎

CLAUDE CODE ADVANCED FULL COURSE (3 HOURS)

SQL Course for Beginners [Full Course]
▶︎

SQL Course for Beginners [Full Course]

ASMR Addictive Fast Tapping Collection For Deep Sleep & Anxiety Relief (No Talking) — 2.5 Hours
▶︎

ASMR Addictive Fast Tapping Collection For Deep Sleep & Anxiety Relief (No Talking) — 2.5 Hours

Master Full-Stack Docker & CI/CD – Build a Production-Ready Pipeline
▶︎

Master Full-Stack Docker & CI/CD – Build a Production-Ready Pipeline

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra
▶︎

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

248 DIOS TE DICE HOY: NADA ES IMPOSIBLE PARA MÍ | CONFÍA EN DIOS
▶︎

248 DIOS TE DICE HOY: NADA ES IMPOSIBLE PARA MÍ | CONFÍA EN DIOS

Complete GitHub Actions Course - From BEGINNER to PRO
▶︎

Complete GitHub Actions Course - From BEGINNER to PRO

APIs for Beginners - How to use an API (Full Course / Tutorial)
▶︎

APIs for Beginners - How to use an API (Full Course / Tutorial)

Docker Tutorial for Beginners [FULL COURSE in 3 Hours]
▶︎

Docker Tutorial for Beginners [FULL COURSE in 3 Hours]

Free Event: Power BI Beginner to Pro 2026 Edition - Full Hands-On Tutorial
▶︎

Free Event: Power BI Beginner to Pro 2026 Edition - Full Hands-On Tutorial

The Ultimate FastAPI + React Full Stack Project (Deploy This and You’re Set)
▶︎

The Ultimate FastAPI + React Full Stack Project (Deploy This and You’re Set)

Building an AI Dark Factory:  A Codebase That Writes Its Own Code, Live
▶︎

Building an AI Dark Factory: A Codebase That Writes Its Own Code, Live