Padrões Arquiteturais

              Estruturais:
               Camadas
Padrões Arquiteturais
•  Estruturais
    –  Camadas
    –  Pipes e Filtros
•  Sistemas Distribuídos
    –  Broker
•  Siste...
Camadas
•  Ajuda a estruturar aplicações que possam
   ser decompostas em grupos de sub-
   tarefas, nas quais cada grupo ...
Exemplo
•  Pilha de Protocolo de Redes
    – Desenvolvimento em/por partes
    – Codificação e/ou testes incrementais
    ...
Exemplo




5   Livro Texto: Pattern Oriented Software   Eduardo N. F. Zagari
           Architecture - Buschmann
Contexto
•  Um sistema grande que requer
   decomposição




6             Livro Texto: Pattern Oriented Software   Eduard...
Problema
•  Mudanças de código tardias devem ficar
   confinadas a um componente e não afetar
   os demais
•  Interfaces d...
Problema
•  Responsabilidades similares devem ser
   agrupadas para facilitar entendimento e
   manutenção
•  Não há padrã...
Solução
•  Estruture o sistema em um número
   apropriado de camadas e coloque-as uma
   no topo da outra
•  Inicie de bai...
Estrutura
•  A camada L usa os serviços da camada
   “L-1” (e somente ela deve usá-los) da
   forma que lhe convier




10...
Estrutura




11   Livro Texto: Pattern Oriented Software   Eduardo N. F. Zagari
            Architecture - Buschmann
Dinâmica
•  Cenário 1
     –  Cliente invoca uma requisição (invocação) à camada
        N. Eventualmente 1:N na camada 1
...
Dinâmica
•  Cenário 4
     – Idem ao cenário 3, mas com notificações e
       não invocações (de baixo para cima)
       •...
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 camada...
Implementação
6.  Especifique uma interface para cada camada
7.  Estruture as camadas individuais
8.  Especifique a comuni...
Usos
•  Máquinas Virtuais
•  APIs
•  Sistemas de Informação




16            Livro Texto: Pattern Oriented Software   Edu...
Upcoming SlideShare
Loading in...5
×

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

2,665

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
2,665
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
108
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
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×