Padrões de Projetos
Padrões de Projeto
(design patterns)
Fernando Vanini
IC - UNICAMP
Padrões de Projeto
(design patterns)
•
•
•
•
2
Apresentação do conceito de design pattern
Classificação dos design patterns
Catálogo
Uso dos design patterns
Design Patterns
•
•
3
À medida que se acumula experiência em projetos usando objetos, observa-se que determinadas situações de colaboração entre objetos se repetem, independentemente da tecnologia ou linguagem de programação utilizada.
Alguns autores (Gamma et. al.) catalogaram um conjunto de soluções de projeto (em ingles design patterns) que consideraram representativas e desde então, essas soluções tem sido uma referência importante para empresas e programadores em geral.
Um exemplo
• Uma aplicação com interface gráfica precisa ser implementada de forma portável para diversas plataformas gráficas, como por exemplo Motif e Gnome.
• O padrão Abstract Factory é aplicável a esse tipo de situação
4
Um exemplo – Abstract Factory
5
Abstract Factory
• No padrão Abstract Factory, ou Fábrica Abstrata, a aplicação cliente interage com uma 'fábrica genérica de objetos‘
• os objetos serão gerados efetivamente pela fábrica concreta que estiver sendo utilizada no momento
• a aplicação cliente não precisa ser configurada para interagir com cada uma das fábricas concretas
• novas fábricas concretas podem ser agregadas, alteradas ou retiradas do sistema sem necessidade de alterações na aplicação cliente
6
Abstract Factory
7
Design Patterns: reuso da solução
• Ao se comparar o exemplo com a descrição genérica apresentada, nota-se que a cada nova situação, um novo código deverá ser escrito, apesar da estrutura ser basicamente a mesma. • A principal idéia por trás dos design patterns é o reuso da solução e não necessariamente o reuso do código, como acontece no caso de bibliotecas. 8
Design Patterns: a origem
• A idéia de