Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FGV 2024

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fg089754
Banca
FGV
Órgão
Prefeitura de Caraguatatuba - SP
Ano
2024
Nível
Médio
Cargo
Técnico em Processamento de Dados
Leia o fragmento a seguir sobre Design Patterns.Os padrões de design desempenham um papel crucial na arquitetura de software, proporcionando soluções testadas e comprovadas para desafios recorrentes no desenvolvimento de sistemas. Esses padrões são geralmente classificados em três categorias principais: padrões de design _____, que são estratégias que se concentram nos padrões de comunicação e colaboração entre objetos; padrões de design _____, que oferece abordagens flexíveis e reutilizáveis na instanciação e composição de objetos e os padrões de design _____, que referem as estratégias voltadas para a eficiente organização de classes e objetos, visando aprimorar a composição e simplificar a interação entre os componentes de um sistema. Cada categoria oferece um conjunto valioso de diretrizes e abordagens que promovem a _____, _____e manutenção do código, contribuindo para o desenvolvimento de sistemas robustos e eficientes.Assinale a opção cujos itens completam corretamente as lacunas do fragmento lido.
  1. Acomportamental – criacional – estrutural – flexibilidade e segurança
  2. Bestrutural – criacional – comportamental – reusabilidade e segurança
  3. Cestrutural – comportamental – criacional – flexibilidade e reusabilidade
  4. Dcomportamental – criacional – estrutural – flexibilidade e reusabilidade
  5. Ecriacional – comportamental – estrutural – reusabilidade e acessibilidade
Revelar gabarito e comentário

GabaritoD — comportamental – criacional – estrutural – flexibilidade e reusabilidade

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

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.

Link permanente: /questoes/fg089754