Skip to content

Estilos e Padrões Arquiteturais Parte 3

1. Versionamento

Versão Data Descrição Autor(es)
1.0 22/03/2022 Abertura do documento Brenno
1.1 22/03/2022 Adição da Introdução, Metodologia e Estilos Brenno
1.1.1 27/03/2022 Correções no texto Brenno
1.1.2 27/03/2022 Revisão por pares Carlos e João

2. Introdução

Estilos e Padrões Arquiteturais definem uma organização estrutural a partir do conjunto pré-definido de subsistemas e responsabilidades com regras e diretrizes para esses subsistemas[1].

3. Metodologia

Para a realização do documento, o membro do grupo responsável documentou as informações referentes aos estilos definidos na parte 3 do moodle da disciplina.

4. Estilos

4.1. Pipes and Filters(Filtros e Dutos)

O Estilo Pipes and Filters apresenta aos fluxos uma organização para a passagem de dados, organizando a estrutura com os seguintes participantes:

  • Filtro (Filter): Recebe, processa e recoloca dados no fluxo.
  • Duto (Pipe): Transfere dados e realiza buffer(dado temporário)
  • Fonte de dados (Data source): Fonte dos dados a serem utilizados
  • Coletor de dados (Data sink): Destino dos dados processados ao final

Dessa forma temos uma estrutura chamada tubulação de processamento, onde dutos fazem a ligação entre filtros, representada na figura 1. O estilo é útil para aplicações com pouca interação com usuários.

Figura 1: Estrutura do Pipes and Filters
Fonte: Aula Estilos e Padrões Arquiteturais III - Profa. Milene [1]

Vantagens

  • Decomposição de problemas
  • Reutilização de código a partir de componentes e interfaces bem definidas
  • Pode ser sequencial ou concorrente[2]

Desvantagens

  • Manutenção limitada caso um componente seja alterado frequentemente
  • É possível que ocorram deadlocks por conta do uso de buffers

4.2. Repositório

As duas principais maneiras para a troca de dados entre subsistemas são: o compartilhamento de um banco de dados central que permite o acesso de outros subsistemas e bancos de dados próprios para o subsistema, sendo esses os responsáveis pela troca de dados entre si.

O Estilo Repositório consiste na primeira maneira apresentada, também chamada de repositório compartilhado, sendo mais adequada para o compartilhamento de grandes quantidades de dados, dessa forma os subsistemas não interagem diretamente para acessar os dados.

Vantagens

  • Independência entre componentes
  • Facilidade para gerenciamento dos dados por estarem centralizados

Desvantagens

  • Problemas no repositório afetam todos subsistemas que o utilizam
  • Distribuição do repositório pode ser difícil
  • Pode se tornar ineficiente de ser evoluída

5. Referências

[1] SERRANO, Milene. Arquitetura e Desenho de Software. Aula Estilos e Padrões Arquiteturais III. Acesso em: 22 mar. 2022

[2] SOMMERVILLE, Ian. Projeto de Arquitetura. Engenharia de Software. 10. ed. [S. l.]: Pearson Universidades, 2019. cap. 6, ISBN 8543024978.