Pular para o conteúdo
GoF Padrões de Projeto Trilha de estudo
Capítulo VIIcinco etapas

Trilha de estudo

Ler o catálogo em ordem alfabética é a pior forma de aprender padrões. Esta ordem vai do que você usa toda semana ao que talvez encontre uma vez na carreira. Marque o que já estudou — fica salvo neste navegador.

0/23
padrões estudados
1

Os fundamentos

Os padrões que você vai usar toda semana e que ensinam a ideia de “programe para a interface”.

  • StrategyVários algoritmos intercambiáveis para a mesma tarefa, escolhidos em tempo de execução.
  • Factory MethodA superclasse define o esqueleto; a subclasse decide qual objeto criar.
  • ObserverUm objeto avisa automaticamente todos os interessados quando algo muda.
  • AdapterTraduz a interface de uma classe para outra que o cliente já espera.
  • FacadeUma porta de entrada simples para um subsistema complicado.
2

Composição sobre herança

Aqui a ficha cai: envolver objetos é mais flexível do que estendê-los.

  • DecoratorEmpilhe comportamentos em tempo de execução, envolvendo o objeto em camadas.
  • CompositeTrate objetos individuais e grupos de objetos exatamente da mesma forma.
  • CommandTransforme uma requisição em objeto — e ganhe fila, log, undo e agendamento de graça.
  • Template MethodA superclasse fixa o esqueleto; as subclasses preenchem os buracos.
  • IteratorPercorra uma coleção sem saber como ela é feita por dentro.
3

Estruturas e ciclo de vida

Controlar criação, acesso e transições de estado.

  • BuilderMonta objetos complexos passo a passo — o mesmo processo gera representações diferentes.
  • SingletonUma única instância na aplicação inteira, com ponto de acesso global.
  • ProxyUm substituto com a mesma cara, que controla o acesso ao objeto real.
  • StateO objeto parece mudar de classe quando seu estado interno muda.
  • Chain of ResponsibilityPasse o pedido por uma fila de handlers até que um deles resolva.
4

Desacoplamento avançado

Padrões que resolvem problemas de arquitetura maiores.

  • MediatorObjetos param de falar entre si e passam a falar com um intermediário.
  • Abstract FactoryUma fábrica de fábricas: cria famílias inteiras de objetos combináveis.
  • BridgeSepara abstração de implementação para que as duas variem sem multiplicar classes.
  • PrototypeCriar copiando um objeto existente, sem depender da classe dele.
  • MementoSalve e restaure o estado de um objeto sem violar seu encapsulamento.
5

Os especialistas

Poderosos, raros e caros. Saiba que existem e reconheça quando aparecem.

  • VisitorAdicione operações novas a uma hierarquia de classes sem alterá-las.
  • FlyweightCompartilhe a parte imutável entre milhões de objetos e economize memória.
  • InterpreterCada regra da gramática vira uma classe que sabe se avaliar.

Os princípios por trás de tudo

Os 23 padrões são aplicações de meia dúzia de ideias. Quem entende as ideias deduz boa parte dos padrões — e reconhece quando nenhum deles serve.

01

Programe para uma interface, não para uma implementação

GoF, p. 18

O primeiro dos dois princípios do livro. Se seu código depende da interface, qualquer implementação serve — e é isso que torna possível trocar, testar e estender.

Strategy · Factory Method · Abstract Factory · Bridge · Adapter

02

Prefira composição de objetos à herança de classe

GoF, p. 20

Herança é decidida em tempo de compilação e expõe as tripas da superclasse. Composição é decidida em tempo de execução e só depende de interfaces.

Decorator · Strategy · Bridge · Composite · Proxy

03

Encapsule o que varia

Derivado do livro; formulado assim em Head First Design Patterns

Identifique o que muda no seu sistema e separe do que permanece igual. Quase todo padrão é uma aplicação disso: o que varia vira um objeto próprio.

Strategy · State · Template Method · Command · Observer

05

Busque acoplamento fraco entre objetos que interagem

GoF, p. 24 / Head First

Objetos precisam colaborar, mas quanto menos souberem uns dos outros, mais fácil é mudar qualquer um deles isoladamente.

Observer · Mediator · Facade · Command · Chain of Responsibility