Flashcards
Motivação Desing Patterns
Cards in this deck (13)
- 1A orientação a objetos, por si só, não garante sistemas reusáveis e extensíveis Profissionais experientes conseguem projetar bons sistemas, novatos não Primeiro aprende-se as regras ◦ Algoritmos, estruturas, linguagens Depois os princípios ◦ Projeto estruturado, Projeto OOMotivação I
- 2Mas, sistemas complexos necessitam de projetos robustos, que foram postos à prova ◦ Estes Padrões de Projeto têm que ser compreendidos, lembrados e usados Padrões de Projeto representam soluções comprovadas para problemas recorrentes em desenvolvimento de softwareMotivação II
- 3A ideia original surgiu em 1979, na Arquitetura e Engenharia Civil Christopher Alexander, arquiteto, queria melhorar o processo de projeto de edifícios e áreas urbanas Hoje, projetos de engenharia civil seguem padrões estabelecidos ◦ Arcos, colunas, portas, janelas, etc. – a solução para tudo isso já é bem conhecidaEvolução I
- 4Cada 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 na arquitetura e engenharia civilEvolução II
- 5Na Engenharia de Software, quatro autores (Gang of Four) se basearam em Christopher Alexander para criar Padrões de Projeto de software Em 1994 descreveram 23 padrões em seu livro ◦ Hoje ele já está na sua trigésima sexta edição ◦ Mais de 500 mil cópias vendidas, traduzido para 13 línguasEvolução III
- 6“Descrição de uma solução para resolver um problema genérico de projeto em um contexto específico. [...] Um padrão de projeto dá nome, abstrai e identifica os aspectos-chave de uma estrutura de projeto comum para torná-la reutilizável” Erich Gamma, et. al, sobre padrões de projeto de softwarePadrões de Projeto
- 7Padrões capturam a estrutura estática e a colaboração dinâmica entre objetos parcitipantes no projeto de sistemas São especialmente bons para descrever como e por que resolver problemas não funcionais Facilitam o reuso de soluções arquiteturais que deram certo antes Aumentam a coesão, diminuem o acoplamentoBeneficios
- 8Padrões de projeto são compostos por quatro elementos essenciais?◦ Nome do padrão
◦ Problema a ser resolvido
◦ Solução dada pelo padrão
◦ Consequências - 9Um identificador utilizado para resumir ◦ O problema em questão ◦ Suas soluções ◦ Suas consequências Aumenta o vocabulário e melhora a comunicação “A parte mais difícil de programação é dar bons nomes às variáveis”NOME
- 10Descreve quando aplicar o padrão Explica o problema e seu contexto Pode conter uma lista de pré condições que precisam estar presentes antes de levar em consideração a aplicação do padrãoPROBLEMA
- 11Descrição abstrata de como o padrão resolve o problema em questão Descreve os elementos que compõem ◦ Relacionamentos ◦ Responsabilidades ◦ Colaborações Inclui algum exemplo concreto de implementação ◦ Porém o padrão deve ser adaptado ao seu contexto específicoSOLUÇÃO
- 12Vantagens e desvantagens de aplicar o padrão Esta seção serve para ◦ Avaliar várias alternativas de padrões ◦ Entender os custos e desafios ◦ Entender os benéficios de aplicar o padrão Inclui análise de impacto envolvendo ◦ Flexibilidade ◦ Extensibilidade ◦ PortabilidadeCONSEQUÊNCIAS
- 13PADRÕES DE PROJETO NÃO SÃO? Soluções prontas, que podem ser
codificadas diretamente nas classes e
reutilizadas sem adaptação (como
API’s, coleções de código, etc.)
Projetos para contextos abrangentes e
complexos (uma aplicação ou
subsistema inteiro)
◦ São aplicáveis em situações específicas
Information
- Description
- Design patterns Flashcards on Motivação Desing Patterns, created by Primo Deckers on 14/11/2016.
- Created by
- Primo Deckers
- Views
- 0
- Rating