Padrões de Projeto (Design Patterns) em Java — o que são, por que usar, como usar e exemplos práticos
- O que são
- São soluções reutilizáveis e testadas para problemas recorrentes de design de software. Não são código pronto, mas modelos de como organizar classes, objetos e responsabilidades.
- Funcionam como um vocabulário comum entre desenvolvedores (ex.: “use um Strategy”, “isso pede um Observer”).
- São organizados em categorias:
- Criacionais: como criar objetos (Factory Method, Abstract Factory, Builder, Singleton, Prototype).
- Estruturais: como compor classes/objetos (Adapter, Facade, Decorator, Composite, Proxy, Bridge, Flyweight).
- Comportamentais: como objetos interagem (Strategy, Observer, Command, Template Method, State, Chain of Responsibility, Mediator, Iterator, Visitor, Memento, Interpreter).