Python Brasil 2025

Primeiros passos com Padrões de Projeto (com TDD)
23/10/2025 , Impacta - Sala 204

Já sabe refatorar um código, mas ainda não entrou no mundo dos Padrões de Projeto? Essa é sua oportunidade de entender o motivo de existirem, e usá-los para melhorar um código existente.


Se você se identifica com a música dos Tripylistas que diz "já sei refatorar, ja sei tipar meu código, agora só me resta aplicar padrões de projeto", esse tutorial é pra você!

Entender orientação a objetos e técnicas de refatoração é essencial para deixar seu código Python bem estruturado, e você chegará muito longe com esses conhecimentos. Mas pode chegar um momento na vida de uma aplicação em que ela tem tantas linhas de código, contribuidores e responsabilidades, que é necessário dar o próximo passo na organização do projeto.

Padrões de Projeto (Design Patterns) surgem como uma alternativa robusta a esse cenário. São estruturas de organização de código (geralmente orientado a objetos) focadas em resolver algum problema organizacional, que já foram validadas e estão documentadas.

Nesse tutorial vamos entender um pouco melhor sobre o conceito geral de Padrões de Projeto, e usar alguns desses padrões para melhorar códigos Python existentes através de uma refatoração guiada a testes (TDD).


¿Qué conocimientos previos son necesarios para poder seguir bien tu actividad?:

Necessário: Conhecimento de orientação a objetos com Python; conhecimento de modularização de código python (separar funções e classes em arquivos diferentes); experiência básica com refatoração de código (extrair lógica para outras funções/métodos, etc)

Ideal: conhecimento básico de testes com Pytest

¿Qué pueden esperar aprender los participantes en tu actividad?:

Vamos ter um momento mais conceitual no início, sobre a ideia geral de padrões de projeto, e depois vamos partir para o código. Usarei 3 exemplos distintos, no qual teremos uma aplicação construída de forma "ingênua" e então faremos a aplicação de um padrão de projeto adequado.

Elige una o más áreas en las que esta propuesta encaja.:

Testes, Arquitetura de software, Outros

Baiano com sotaque mineiro, e pythonista desde 2021. Graduado em Ciência da Computação pela UFMG, já "ganhei meu pão" como Product Manager, Professor de Python e Especialista de Avaliações Técnicas.