Modelamos aplicações Ruby como um conjunto de objetos interagindo entre si para resolver um problema.
Quando propomos uma solução, ela geralmente é validada dentro de um escopo específico.
Mas mudanças sempre acontecem: no código, nas regras de negócio, na vida, no universo e em tudo mais.
Com essas mudanças, será que uma solução inicialmente proposta continua sendo válida? Se não for, o código implementado está preparado para evoluir e agregar novos comportamentos de maneira saudável?
Nesta talk, vamos analisar princípios e padrões de design de aplicações orientadas a objeto e como podemos aplicá-los no dia a dia a fim de tornar nosso código mais flexível e com maior qualidade.