design patters
Introdução
Neste trabalho vamos abordar alguns padrões de design de software.
Quando nos vemos envolvidos na tarefa de desenvolver software, é inevitável a existência de obstáculos e problemas. Todavia isso acontece desde que existe desenvolvimento de software e felizmente, outros já se encontraram na mesma posição, já compreenderam o problema, encontraram e documentaram uma solução. Assim surgiram os padrões de desenvolvimento.
Um design pattern, na sua essência, é uma solução generalizada que pode ser utilizada recorrentemente face a um problema encontrado no desenvolvimento de software orientado a objectos.
No geral um padrão tem quatro elementos primários: O nome é uma etiqueta usada para identificar o problema, a solução e os seus efeitos em poucas palavras. Permite-nos atingir um nível mais alto de abstracção e facilita a comunicação com eventuais utilizadores do padrão. Encontrar um nome adequado e funcional pode constituir um desafio. O problema define em que casos deve ser aplicado o padrão. Situa-nos em termos de contexto e ajuda a identificar casos específicos como por exemplo, como traduzir algoritmos em objectos. Poderá ter uma lista de condições que necessitam de ser satisfeitas para que a aplicação do padrão faça sentido. A solução apresenta os diferentes elementos de desenvolvimento e especifica a forma como se relacionam entre si. Nunca será restrita a um caso particular, mas sim um guia passível de aplicação em múltiplas situações. As consequências são os resultados e as vantagens da aplicação do padrão. São essenciais na avaliação de alternativas e na compreensão da relação custo-beneficio dessa utilização. Como a recursividade de uso é um factor importante no desenvolvimento de software orientado a objectos, as consequências de um padrão identificam as suas implicações e ajudam a medir o seu peso no sistema, nomeadamente, na portabilidade e flexibilidade.
Devido à grande