Padrões-02 - Padrões Arquiteturais - Camadas

3,289 views

Published on

Padrões Arquiteturais. Padrão Estrutural. Camadas.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,289
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
119
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Padrões-02 - Padrões Arquiteturais - Camadas

  1. 1. Padrões Arquiteturais Estruturais: Camadas
  2. 2. Padrões Arquiteturais •  Estruturais –  Camadas –  Pipes e Filtros •  Sistemas Distribuídos –  Broker •  Sistemas Interativos –  MVC –  Apresentação-Abstração-Controle (PAC) •  Sistemas Adaptáveis –  Reflexão –  Microkernel 2 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  3. 3. Camadas •  Ajuda a estruturar aplicações que possam ser decompostas em grupos de sub- tarefas, nas quais cada grupo está em um nível de abstração particular 3 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  4. 4. Exemplo •  Pilha de Protocolo de Redes – Desenvolvimento em/por partes – Codificação e/ou testes incrementais – Mudança/alteração a posteriori de partes individuais – Novas linguagens ou tecnologias podem ser incorporadas pela simples recodificação de seções de código 4 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  5. 5. Exemplo 5 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  6. 6. Contexto •  Um sistema grande que requer decomposição 6 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  7. 7. Problema •  Mudanças de código tardias devem ficar confinadas a um componente e não afetar os demais •  Interfaces devem ser estáveis e padronizadas •  Partes do sistema devem ser substituíveis •  Pode ser necessário mais tarde se criar novos sistemas com as mesmas questões de “nível baixo” do que se está projetando 7 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  8. 8. Problema •  Responsabilidades similares devem ser agrupadas para facilitar entendimento e manutenção •  Não há padrão de granularidade dos componentes •  Componentes mais complexos necessitam de mais decomposição •  Sistema deve ser desenvolvido por uma equipe de programadores 8 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  9. 9. Solução •  Estruture o sistema em um número apropriado de camadas e coloque-as uma no topo da outra •  Inicie de baixo para cima, aumentando o nível de abstração 9 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  10. 10. Estrutura •  A camada L usa os serviços da camada “L-1” (e somente ela deve usá-los) da forma que lhe convier 10 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  11. 11. Estrutura 11 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  12. 12. Dinâmica •  Cenário 1 –  Cliente invoca uma requisição (invocação) à camada N. Eventualmente 1:N na camada 1 •  Cenário 2 –  Comunicação de baixo para cima (notificação). 1:1 ou N:1 •  Cenário 3 –  Camadas Com Estado (cache) versus Sem Estado •  Requisições podem atingir apenas um subconjunto de camadas 12 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  13. 13. Dinâmica •  Cenário 4 – Idem ao cenário 3, mas com notificações e não invocações (de baixo para cima) •  Ex.: o reenvio de uma requisição •  Cenário 5 – Comunicação entre 2 pilhas de camadas 13 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  14. 14. Implementação 1.  Defina o critério de abstração 2.  Determine o número de níveis de abstração 3.  Dê o nome às camadas e atribua tarefas a cada uma delas 4.  Especifique os serviços (Pirâmide Invertida de Reuso) 5.  Refine os passos de 1 a 4 14 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  15. 15. Implementação 6.  Especifique uma interface para cada camada 7.  Estruture as camadas individuais 8.  Especifique a comunicação entre camadas adjacentes •  Modelo PUSH versus PULL 9.  Desacople camadas adjacentes •  Acoplamento ONE-WAY para top-down •  Bottom-Up: funções de callback •  Ou, usando super classes 10. Projetar uma estratégia de tratamento de erro 15 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann
  16. 16. Usos •  Máquinas Virtuais •  APIs •  Sistemas de Informação 16 Livro Texto: Pattern Oriented Software Eduardo N. F. Zagari Architecture - Buschmann

×