Trabalho
Ricardo Argenton Ramos
[Baseado nos slides do professor Fabio Kon - USP]
1
Padrões de Projeto de Software OO
Também conhecidos como
Padrões de Desenho de Software OO ou simplesmente como Padrões.
2
A Inspiração
A idéia de padrões foi apresentada por Christopher Alexander em 1977 no contexto de Arquitetura (de prédios e cidades): Cada padrão descreve um problema que ocorre repetidamente de novo e de novo em nosso ambiente, e então descreve a parte central da solução para aquele problema de uma forma que você pode usar esta solução um milhão de vezes, sem nunca implementa-la duas vezes da mesma forma.
3
Catálogo de soluções
Um padrão encerra o conhecimento de uma pessoa muito experiente em um determinado assunto de uma forma que este conhecimento pode ser transmitido para outras pessoas menos experientes. Outras ciências (p.ex. química) e engenharias possuem catálogos de soluções. Desde 1995, o desenvolvimento de software passou a ter o seu primeiro catálogo de soluções para projeto de software: o livro GoF.
4
Gang of Four (GoF)
E. Gamma and R. Helm and R. Johnson and J. Vlissides. Design Patterns - Elements of Reusable Object-Oriented Software. AddisonWesley, 1995.
5
Gang of Four (GoF)
Passamos a ter um vocabulário comum para conversar sobre projetos de software. Soluções que não tinham nome passam a ter nome. Ao invés de discutirmos um sistema em termos de pilhas, filas, árvores, passamos a falar de coisas de muito mais alto nível como Fábricas, Fachadas, Observador, Estratégia, etc. A maioria dos autores eram entusiastas de Smalltalk, principalmente o Ralph Johnson. Mas acabaram baseando o livro em C++ para que o impacto junto à comunidade de C fosse maior. E o impacto foi enorme, o livro vendeu centenas de milhares de cópias. 6
O Formato de um padrão
Todo padrão inclui o mínimo:
Nome Problema Solução Conseqüências / Forças Exemplo
7
O Formato dos padrões