Padrões de projeto com TypeScript: aprimorando uma API com arquitetura limpa | Alura