Padrões de projeto (Design Patterns) – categorias GoF
Gabarito: letra D. A sequência correta das lacunas é: comportamental (padrões de comunicação e colaboração entre objetos), criacional (instanciação e composição flexível de objetos) e estrutural (organização de classes e objetos para simplificar interações). Quanto aos benefícios, os padrões promovem flexibilidade e reusabilidade do código, conforme a classificação clássica do GoF (Gang of Four).
A questão exige o conhecimento das três famílias de padrões de projeto definidas no livro Design Patterns: Elements of Reusable Object-Oriented Software (GoF):
Comportamentais: focam nos algoritmos, atribuição de responsabilidades e padrões de comunicação entre objetos.
Criacionais: abstraem o processo de criação de objetos, tornando o sistema independente de como seus objetos são criados, compostos e representados.
Estruturais: preocupam-se com a composição de classes e objetos para formar estruturas maiores.
Os benefícios centrais desses padrões são o aumento da flexibilidade (capacidade de adaptação a mudanças) e da reusabilidade (aproveitamento de soluções em diferentes contextos), contribuindo para a manutenibilidade do código.
Categoria | Foco principal | Exemplo de padrão | Benefício principal |
|---|
Comportamental | Comunicação e colaboração entre objetos | Observer, Strategy, Command | Flexibilidade |
Criacional | Instanciação e composição flexível de objetos | Singleton, Factory, Builder | Reusabilidade |
Estrutural | Organização de classes e objetos para simplificar interações | Adapter, Composite, Decorator | Flexibilidade e reusabilidade |
Alternativa A — ❌ Incorreta
Apresenta a sequência correta das três categorias (comportamental, criacional, estrutural), mas erra ao indicar os benefícios como flexibilidade e segurança. A segurança não é um benefício primário dos padrões de projeto GoF; o termo correto é reusabilidade.
Alternativa B — ❌ Incorreta
Inverte a primeira e a terceira categorias: começa com estrutural (que deveria ser a terceira) e termina com comportamental (que deveria ser a primeira). Além disso, traz reusabilidade e segurança – segurança novamente inadequada.
Alternativa C — ❌ Incorreta
A ordem está completamente trocada: estrutural (primeira lacuna), comportamental (segunda) e criacional (terceira). Os benefícios (flexibilidade e reusabilidade) estão corretos, mas a sequência das categorias invalida a alternativa.
Alternativa D — ✅ Correta ⟵ GABARITO
Preenche todas as lacunas de acordo com a definição clássica:
1ª lacuna: comportamental (comunicação e colaboração entre objetos);
2ª lacuna: criacional (instanciação e composição de objetos);
3ª lacuna: estrutural (organização de classes e objetos);
4ª e 5ª lacunas: flexibilidade e reusabilidade (benefícios promovidos).
Alternativa E — ❌ Incorreta
Inicia com criacional (que é a segunda categoria) e depois coloca comportamental e estrutural na ordem errada. Os benefícios (reusabilidade e acessibilidade) também estão incorretos – acessibilidade não é um benefício listado pelos GoF; o correto é flexibilidade.
Gabarito: letra D.