terça-feira, 7 de fevereiro de 2012

Design Patterns: Introdução

Design Patterns (ou Padrões de Projeto, em português) são modelos de como resolver algumas situações comuns na programação orientada a objetos. Eles descrevem de forma abstrata e apenas indicam classes a serem criadas e as relações entre elas. Dessa forma, são "receitas de bolo" genéricas que podem auxiliar o desenvolvimento em diversas situações. Normalmente eles reforçam os Princípios de Design Orientado a Objetos.

Possuir o conhecimento destes patterns pode ajudar muito um desenvolvedor a resolver rapidamente os problemas encontrados na programação do dia-a-dia e também pode ajudá-lo a construir softwares cujo desenvolvimento e manutenção sejam mais fáceis.

Porém, é necessário utilizar estes patterns com cautela. Muitos desenvolvedores e até mesmo arquitetos privilegiam a "conformidade" com os Design Patterns no lugar do fácil desenvolvimento e manutenção. Temos que utilizar o conhecimento que temos visando diminuir os custos do software (que está ligado ao tempo que ele demora para ser desenvolvido e ao tempo que se dispende na sua manutenção).

Outra vantagem de se utilizar os Design Patterns é a comunicação: entre duas pessoas que conhecem Design Patterns é muito simples descrever um software que os utilizou. Por exemplo: em vez de explicar o que cada classe faz, basta dizer "aqui eu usei o pdrão Observer".

Um Design Pattern sempre será descrito da seguinte forma:
  • Nome;
  • O problema que se propõe resolver;
  • A solução proposta;
  • Quando aplicá-lo;
  • Consequências da sua aplicação.
Nos próximos posts, pretendo apresentar os principais e mais comumente utilizados Design Patterns. Manterei este post atualizado com a lista dos Patterns apresentados.

Patterns de Criação:
Patterns Comportamentais:
Patterns Estruturais:

Um abraço.

Nenhum comentário: