Design patterns
O que é Design Pattern?
Os padrões de projeto (design patterns) são como plantas pré-
projetadas de uma construção, que você pode alterar para se
adequar melhor na resolução de um problema recorrente em seu
código. O que diferencia os padrões de projeto das funções e
bibliotecas é que você não pode simplesmente copiá-los direto para
seu programa, já que eles não são um pedaço de código, mas sim um
conceito que serve como uma solução.
Classificações dos Padrões de projeto
Padrões criacionais
Estes padrões fornecem vários mecanismos de criação de objetos,
que aumentam a flexibilidade e reutilização de código já existente.
Alguns dos principais padrões desse tipo são:
Factory Method
Abstract Factory
Builder
Padrões estruturais
Estes padrões explicam como montar objetos e classes em estruturas
maiores, mas ainda mantendo essas estruturas flexíveis e eficientes.
Alguns dos principais padrões desse tipo são:
Adapter
Bridge
Composite
Padrões comportamentais
Estes padrões são voltados aos algoritmos e a designação de
responsabilidades entre objetos.
Os padrões que se destacam nesse tipo são:
Chain of Responsibility
Command
Interpreter
As características obrigatórias que devem ser atendidas por um
padrão de projeto são compostas basicamente por 4 (quatro)
elementos que são:
Nome do padrão;
Problema a ser resolvido;
Solução dada pelo padrão; e
Consequências.
Do que consiste um padrão?
A maioria dos padrões são descritos formalmente para que as
pessoas possam reproduzi-los em diferentes contextos. Aqui estão
algumas seções que são geralmente presentes em uma descrição de
um padrão:
O Propósito do padrão descreve brevemente o problema e a
solução.
A Motivação explica a fundo o problema e a solução que o
padrão torna possível.
As Estruturas de classes mostram cada parte do padrão e
como se relacionam.
Exemplos de código em uma das linguagens de programação
populares tornam mais fácil compreender a ideia por trás do
padrão.
[Link]