A expressão Design Patterns diz respeito a uma série de soluções bem testadas e documentadas para resolver problemas computacionais específicos. Ou seja, alguém tinha um problema de programação e conseguiu resolvê-lo de uma forma bem estruturada, tornando a solução reaproveitável. É justamente essa a razão de não ser apenas modismo já que cada uma das soluções pode ser aplicada sempre que aparecer a mesma situação que o Pattern se propõe a resolver, independendo da linguagem de programação ou do ambiente operacional escolhido - única restrição é que a linguagem comporte o conceito de Objetos. É provável que você já use algumas das soluções propostas sem mesmo saber que se trata de um Design Pattern já estabelecido.
A ideia dos Padrões de Projeto foi introduzida na década de 1970 pelo austríaco Christopher Alexander. Ele propôs um sistema que estabelece as características de um padrão - isto é, como determinar que algo se constitui num padrão - e como descrever formalmente o padrão. A grosso modo, essa descrição formal deve detalhar o problema em questão, contextualizá-lo ao indicar em quais situações o padrão descrito se aplica e, obviamente, descrever a solução para o problema proposto. Embora Christopher Alexander seja arquiteto e sua teoria tenha sido calcada no projeto e construção como entendidos pela Arquitetura, seus conceitos de Padrões de Projeto são genéricos o suficiente para serem adotados na informática.
O transporte dessas ideias para a Computação teve início na década de 1980 mas o grupo mais conhecido de Padrões de Projeto de Software foi descrito em 1994 no livro Design Patterns. O fato do livro ter sido escrito por 4 programadores deu nome à coleção de Patterns: Gof ou Gang of Four.
Os padrões Gof foram agrupados em 3 categorias, de acordo com o momento em que são aplicados:



Esse post é apenas uma introdução ao assunto. Pretendo colocar outros posts para mostrar na prática a utilização dos Design Patterns através de exemplos em Delphi.
Nenhum comentário :
Postar um comentário
OBS: Os comentários enviados a este Blog são submetidos a moderação. Por isso, eles serão publicados somente após aprovação.
Observação: somente um membro deste blog pode postar um comentário.