Modelagem de Sistemas e Padrões de Software
Padrões de Software
1 - Conceitos Básicos de Padrões
O que são Padrões?
• Segundo o dicionário Aurélio, padrão é tudo aquilo que serve de base ou norma para a avaliação de qualidade ou quantidade; ou qualquer objeto que serve de modelo à elaboração de outro; ou modelo, exemplo, template etc. Essas definições aplicam-se a diversos campos de atividade. Na Engenharia de Software, desenvolvedores têm tentado encontrar padrões que venham ao encontro dos planos, algoritmos, estruturas de dados, modelos, enfim soluções que resultaram em sucesso em experiências passadas e possam ser utilizadas (reutilizadas) em novos projetos.
• Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.
• Expressa a relação entre um certo contexto, um sistema de forças que ocorre repetidamente nesse contexto.
Problema
Contexto e Forças
Solução
Benefícios
Consequências
Soluções Relacionadas
•
A proposta original de padrões veio do trabalho de Christopher Alexander na área de arquitetura. Sua definição para padrões: Cada padrão é uma regra (esquema) de três partes que expressa uma relação entre um certo contexto, um problema, e uma solução.
• Uma definição informal: o "Cada padrão descreve um problema que ocorre freqüentemente e então descreve o cerne da solução ao problema de forma a poder reusar a solução milhares de vezes em situações diferentes"
• Observe que são as classes e suas colaborações que são reusadas: o Reuso de idéias, não de código; o Consistem de micro-arquiteturas de classes, objetos, seus papéis e suas colaborações. Vantagens:
• Descreve abstrações de software;
• Vocabulário comum;
• Comunicação efetiva de princípios complexos;
• Ajuda a documentar a arquitetura do software;
• Captura as partes essenciais do design de forma compacta.
1
Atenção:
•