Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Padrões-01 - Introdução

1,285 views

Published on

Padrões. Introdução.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Padrões-01 - Introdução

  1. 1. Padrões
  2. 2. Padrões •  O que é um Padrão? – Comportamento “expert” (especialista) Arquitetura •  Par problema-solução Economia Eng. Software 2 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  3. 3. Um Exemplo na Arquitetura •  Window Place – Todo mundo gosta – Se não existe, raramente as pessoas se sentem bem •  Ou elas se sentam para se sentir confortáveis •  Ou se dirigem para próximas da luz – Portanto: em todos os cômodos que se passa boa parte do tempo, deve-se fazer, pelo menos, uma janela  “window place” 3 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  4. 4. Um Exemplo na Arquitetura 4 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  5. 5. Um Exemplo em Arquitetura de Software •  Model-View-Controller Considere o desenvolvimento de um SW com IHM. –  Estender funcionalidades pode implicar em: •  Modificar menus •  Adaptar a interface para usuários específicos –  O sistema pode precisar migrar para uma nova plataforma com um padrão “look-and-feel” diferente •  Mesmo uma atualização no sistema de janelas pode implicar em mudanças no código 5 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  6. 6. Um Exemplo em Arquitetura de Software – Um software com toda esta funcionalidade pode ser caro demais! •  Desenvolver vários módulos certamente não deve ser a melhor solução! •  Considere 2 aspectos: –  Mudanças para a interface do usuário deveriam ser fáceis e possivelmente em tempo de execução –  Adaptar ou portar a interface não deve ter impacto no código do núcleo da aplicação •  Para resolver, divide-se este tipo de aplicação em 3 áreas: processamento, saída e entrada 6 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  7. 7. Um Exemplo em Arquitetura de Software –  Componente MODEL: encapsula os dados do núcleo da aplicação e sua funcionalidade –  Componentes VIEW: mostra as informações para o usuário. Obtém-nas do MODEL –  Cada componente VIEW tem um componente CONTROLLER associado •  Recebem a entrada (usualmente eventos) •  Eventos são traduzidos em requisições de serviços que são enviadas para o MODEL ou para VIEW •  O usuário interage com o sistema apenas através dos CONTROLLERs •  Esta separação possibilita múltiplas visões do mesmo modelo 7 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  8. 8. Model-View-Controller 8 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  9. 9. Propriedades dos Padrões •  Um padrão trata um problema recorrente que surge em situações de projeto e apresenta uma solução para ele •  Padrões documentam experiências de projeto reais e bem sucedidas •  Identificam e especificam abstrações que estão acima do nível de classes e instâncias únicas ou de componentes •  Provêem um vocabulário comum e entendimento para princípios de projeto 9 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  10. 10. Propriedades dos Padrões •  São um meio para a documentação de arquiteturas de software •  Dão suporte à construção de softwares com propriedades definidas •  Ajudam-nos a construir arquiteturas de software complexas e heterogêneas •  Ajudam-nos a gerenciar a complexidade do software 10 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  11. 11. Definição •  Um padrão para arquitetura de software descreve um problema de projeto recorrente particular que surge em contextos de projetos específicos e apresenta um esquema genérico, bem comprovado, para sua solução •  O esquema de solução é especificado descrevendo-se seus componentes constituintes, suas responsabilidades e relacionamentos e a forma como eles colaboram. 11 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  12. 12. O que constitui um Padrão •  Existe um “esqueleto” de 3 partes que captura a essência de todo padrão, independente de seu domínio: – Contexto: situação de projeto que levanta um problema de projeto – Problema: o problema recorrente que se levanta neste contexto. É descrito através de um conjunto de aspectos que devem ser considerados na solução 12 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  13. 13. O que constitui um Padrão – Solução: uma solução bem sucedida do problema, composta por uma parte estática, que descreve a estrutura com seus componentes e seus relacionamentos e uma parte dinâmica, que descreve o comportamento em tempo de execução dos componentes 13 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  14. 14. Categorias •  Padrões Arquiteturais – Expressam um esquema estrutural fundamental para sistemas de software – Provêem um conjunto de subsistemas fundamentais, especificam suas responsabilidades e incluem regras e guias para a organização dos relacionamentos entre eles 14 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  15. 15. Categorias •  Padrões de Projeto – Provêem um esquema para refinamento dos subsistemas ou componentes de um sistema de software ou dos relacionamentos entre eles. – Descrevem uma estrutura recorrente comum de componentes de comunicação que solucionam um problema de projeto geral dentro de um contexto particular 15 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  16. 16. Categorias •  Idiomas – São um padrão de “nível baixo” específico de uma linguagem de programação – Descrevem como implementar aspectos particulares de componentes ou de relacionamentos entre eles usando as características de uma dada linguagem 16 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann

×