Design Patterns ou Padrões de Projeto
Design Patterns ou Padrões de Projeto, vocês já devem ter ouvido falar sobre este assunto, até mesmo lido a respeito, e deve ter se perguntado: "Quando vou usar isto? Quando sei que padrão utilizar?".
Pois bem, irei fazer uma sequência de posts detalhando um a um dos padrões GOF que são os mais conhecidos, mostrando a vocês exemplos no mundo real.
Uma breve introdução: (wikipedia)
Os padrões de projeto de software ou padrões de desenho de software, também muito conhecido pelo termo original em inglês: Design Patterns, descrevem soluções para problemas recorrentes no desenvolvimento de sistemas de software orientados a objetos. Um padrão de projeto estabelece um nome e define o problema, a solução, quando aplicar esta solução e suas conseqüências. Os padrões de projeto visam facilitar a reutilização de soluções de desenho - isto é, soluções na fase de projeto do software, sem considerar reutilização de código. Também acarretam um vocabulário comum de desenho, facilitando comunicação, documentação e aprendizado dos sistemas de software.
Padrões de Projeto GOF
Os padrões "GoF" são organizados em famílias de padrões: de criação, estruturais e comportamentais. Os padrões de criação são relacionados à criação de objetos, os estruturais tratam das associações entre classes e objetos e os comportamentais das interações e divisões de responsabilidades entre as classes ou objetos.
Padrões de Criação:
- Abstract Factory
- Builder
- Factory Method
- Prototype
- Singleton
Padrões Estruturais: - Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight, Proxy
Padrões Comportamentais: - Chain of Responsability
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor