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.