Itil e cobit
1 - Introdução
J930
Padrões de
1
Projeto
Introdução
argonavis.com.br
Helder da Rocha (helder@acm.org)
O que é um padrão?
• Maneira testada ou documentada de alcançar um objetivo qualquer
•Padrões são comuns em várias áreas da engenharia
• Design Patterns, ou Padrões de Projeto
• Padrões para alcançar objetivos na engenharia de software usando classes e métodos em linguagens orientadas a objeto • Inspirado em "A Pattern Language" de Christopher Alexander, sobre padrões de arquitetura de cidades, casas e prédios •"Design Patterns" de Erich Gamma, John Vlissides, Ralph Jonhson e Richard Helm, conhecidos como "The Gang of Four", ou GoF, descreve 23 padrões de projeto úteis.
2
© 2003, Helder L. S da Rocha
1-1
Argo Navis J930 - Padrões de Design
1 - Introdução
O que é um padrão?
"Cada padrão descreve um problema que ocorre repetidas vezes em nosso ambiente, e então descreve o núcleo da solução para aquele problema, de tal maneira que pode-se usar essa solução milhões de vezes sem nunca fazê-la da mesma forma duas vezes"
Christopher Alexander, sobre padrões em Arquitetura
"Os padrões de projeto são descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico"
Gamma, Helm, Vlissides & Johnson, sobre padrões em software
3
Por que aprender padrões?
• Aprender com a experiência dos outros
•Identificar problemas comuns em engenharia de software e utilizar soluções testadas e bem documentadas •Utilizar soluções que têm um nome: facilita a comunicação, compreensão e documentação
• Aprender a programar bem com orientação a objetos
• Os 23 padrões de projeto "clássicos" utilizam as melhores práticas em OO para atingir os resultados desejados
• Desenvolver software de melhor qualidade
•Os padrões utilizam eficientemente polimorfismo, herança, modularidade, composição, abstração para construir código