Este documento resume um livro sobre refatoração de códigos usando padrões de projeto. Apresenta o autor e suas credenciais, o objetivo geral de apoiar a implementação de códigos seguindo padrões testados para garantir qualidade e reduzir impactos de mudanças. Explica brevemente os conceitos de refatoração, padrão de projeto e alguns padrões como Observer, Decorator e Strategy ilustrados com exemplos. Por fim, fornece dicas como codificar orientado a interfaces, usar composição, obter baixo acoplamento,
8. • Apoia-los a implementar códigos,
seguindo padrões refinados, já
t e s t a d o s e e x p e r i m e t a d o s .
GaranCndo assim, uma melhor
qualidade de código e diminuindo o
impacto das constantes mudanças.
OBJETIVO GERAL
20. PADRÃO
• Um padrão é uma solução para um
determinado problema em um
contexto.
• Porém um padrão não descreve
qualquer solução, mas uma solução
que já tenha sido uFlizada com
sucesso em mais de um contexto.
21. PADRÕES DE PROJETO
“Cada padrão descreve um problema no
nosso ambiente e o núcleo da sua solução,
de tal forma que você possa uClizar esta
solução mais de um milhão de vezes, sem
nunca fazê-lo da mesma maneira”
Cristopher Alexander
26. OBSERVER
“Define uma dependência um-para-
muitos entre objetos de modo que quando
um objeto muda o estado, todos seus
dependentes são noCficados e atualizados
automaCcamente. Permite que objetos
interessados sejam avisados da mudança
de estado ou outros eventos ocorrendo
num outro objeto”
Erich Gamma
30. DECORATOR
“ D i n a m i c a m e n t e , a g r e g a r
responsabilidades adicionais a objetos. Os
Decorators fornecem uma alternaCva
flexível ao uso de subclasses para
extensão de funcionalidades.”
Erich Gamma
35. STRATEGY
“Definir uma família de algoritmos,
encapsular cada uma delas e torná-las
intercambiáveis. Strategy permite que o
algoritmo varie independentemente dos
clientes que o uXlizam”
Erich Gamma