Padrões de projeto

Padrões de projeto ou “Design Patterns” são soluções para problemas que a maioria dos profissionais de desenvolvimento de softwares encontra no decorrer de suas carreiras. A adoção destas soluções acelera o processo de desenvolvimento deixando o código com mais granularidade e coesão.

Mais afinal o que são padrões de projeto?

“Os padrões de projeto são descrições de objetos que se comunicam e classes que são customizadas para resolver um problema genérico de design em um contexto específico” Gamma, Helm, Vlissides & Johnson (1995). Estes são quatro autores conhecidos como “The Gang of Four” e por este motivo os padrões são conhecidos também por “Padrões GoF”.

Os padrões podem ser divididos basicamente em três categorias:

Criação

  • Factory
  • Builder
  • Abstract
  • Prototype
  • Singleton

Estrutural

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Proxy

Comportamental

  • Interpreter
  • Method
  • Command
  • Iterator
  • Mediator
  • Observer
  • State
  • Strategy
  • Visitor

Vou citar alguns exemplos de aplicação destes padrões:

  • Facade – Encapsula procedimentos complexos de forma simplificada.
  • Proxy – Enter media a comunicação entre objetos complexos.
  • Singleton –  Propõem um ponto único de acesso a objetos (instanciar e destruir).

Com o tempo vou publicar alguns artigos detalhando cada um destes padrões de forma pratica.