Design Pattern
 Fundamentos da Engenharia de Software
– Leonardo de França Rosa
– Rodrigo de Carvalho Rocha
Introdução
 O que é um Design Pattern?
 Descrição de Design Pattern
 Solução de Problemas de Design
 Como escolher o Pattern correto
 Como Usar
 Os erros mais frequentes
O que é Design Pattern?
 É uma solução genérica para uma classe de
problemas
 Seu uso deve contribuir para reutilização e
modularização em processos de
desenvolvimento de software OO
 Possui descrição estruturada e catalogada,
de maneira a oferecer clareza a seus
usuários
Descrição de Patterns
 Deve ser aderente à meta de reutilização
 Na criação de catálogos, as descrições
devem seguir uma estrutura
 Cada autor define sua estrutura de
descrição, mas fundamentalmente, devem
ser apresentados exemplos práticos
Solução de Problemas de Design
– Quais os Principais desafios?
 Achar objetos que não vêm da análise
 Determinar a granularidade dos objetos
 Especificar Interfaces de objetos
 Especificar Implementações
 Usar mecanismos de reutilização
 Criar Design flexível
Como escolher o Pattern certo
– Abordagens sugeridas:
 Saber quais problemas de Design a serem
enfrentados
 Achar um Pattern cujo propósito se encaixe
ao problema
 Estudar Patterns similares. Comparar
escolhas
Como escoher o Pattern certo
(Cont.)
 Examinar possíveis causas de Redesign
 Considerar o que poderia variar no seu
Design
Como usar
– Método passo-a-passo:
 Leia o Pattern
 Entenda as classes e objetos envolvidos
 Estude a seção de exemplos
 Escolha nomes significativos (na sua
aplicação) para os participantes do Pattern
Como usar (Cont.)
 Defina as classes oriundas da escolha do
Pattern
 Defina (na sua aplicação) nomes
significativos para as operações oriundas da
escolha do Pattern
 Implemente as operações coerentemente
Os erros mais frequentes
 1-”Um Pattern é uma solução para um
problema de contexto”
 2-”Pattern são somente jargões, regras,
truques, estruturas de dados ...”
 3-”Viu um , viu todos”
Catálogo de Patterns
– Patterns Home Page:
 hillside.net/patterns/patterns.html
Download

ppt - DCC