Design Patterns

Na curta, porém rapidamente evolutiva história das ciências da computação e da engenharia de software, variaram muito as técnicas, métodos, processos, meios e recursos utilizados. Os projetos fracassavam com freqüência porque os desenvolvedores não conseguiam comunicar um ao outro bons projetos de software, arquiteturas e práticas de programação. Não faz muitos anos, estruturas de dados, fluxogramas e técnicas modulares de programação dominavam o cenário. Então, o paradigma de orientação a objetos iniciou sua trajetória. No contexto do desenvolvimento de software orientado a objetos, os padrões de projeto (…) tornaram-se um dos tópicos mais “quentes” na área de engenharia de software nos últimos anos. O simples uso da OO não garante que obtenhamos sistemas confiáveis, robustos, extensíveis e reutilizáveis. O foco das metodologias de desenvolvimento está na solução em si (o que e como) e não em suas justificativas (porque).

“Um Pattern descreve um problema que se repete várias vezes em um determinado meio, e em seguida descreve o núcleo da sua solução, de modo que esta solução possa ser usada milhares e milhares de vezes” [Christopher Alexander]. Sistematicamente nomeia, motiva e explica um projeto genérico, que endereça um problema de projeto recorrente em sistemas orientados a objetos.

As principais vantagens de utilizarmos padrões são:
  • Capturam o conhecimento e a experiência de especialistas em projeto de software, pois difícil compartilhar a experiência entre experts e novatos
  • Especificam abstrações que estão acima do nível de classes ou objetos isolados ou de componentes [Gamma et al 1995].
  • Definem um vocabulário comum para a discussão de problemas e soluções de projeto [Gamma et al 1995].
  • Facilitam a documentação e manutenção da arquitetura do software [Buschmann et al 1996].
  • Auxiliam o projeto de arquiteturas mais complexas.
Reusabilidade real não se obtém de técnicas de “cut & paste” nem do simples reaproveitamento de módulos de software. E melhora do uso não se obtem reusando o mesmo template milhares de vezes e sim entendendo a tarefa do usuário e como a funcionalidade se encaixa no processo.

Este texto foi compilado a partir de várias fontes publicadas na internet.

Comentários

Postagens mais visitadas deste blog

Por que utilizar padrões de projeto?