Pular para o conteúdo principal

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

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
ce180658
Banca
CESPE / CEBRASPE
Órgão
Prefeitura de Cachoeiro de Itapemirim - ES
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas
Julgue o item seguinte, que tratam de padrões de projeto e dos protocolos para Web services, padrões e tecnologias relacionadas.O padrão de projetos Iterator fornece aos clientes vários métodos simples de acesso aos elementos da coleção, protegendo a coleção contra ações descuidadas ou maliciosas passíveis de ocorrência caso seja permitido o acesso direto à coleção.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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ão Iterator (GoF comportamental)

CERTO. A afirmação descreve corretamente o propósito do padrão de projeto Iterator. Ele fornece uma interface unificada para percorrer os elementos de uma coleção sem expor sua estrutura interna, protegendo assim a coleção contra acesso ou modificação indevida por parte do cliente.

Fundamentação

O Iterator é um dos padrões comportamentais do catálogo GoF (Gang of Four). Sua intenção é "fornecer um modo de acessar sequencialmente os elementos de um objeto agregado sem expor sua representação subjacente". Ao encapsular a lógica de iteração, o padrão:

  • Oferece métodos simples (next(), hasNext(), currentItem(), etc.) para que o cliente navegue pela coleção.

  • Impede que o cliente manipule diretamente a estrutura interna da coleção (ex.: índices, listas encadeadas), reduzindo riscos de corrupção ou uso inadequado.

  • Permite que a coleção seja alterada (dentro de limites) sem impactar o código cliente, desde que o iterador seja consistente.

Portanto, a afirmação está em linha com a definição clássica do padrão: proteger a coleção e simplificar o acesso aos seus elementos.

SE LIGUE NESSA!

O Iterator é frequentemente implementado com fail-fast ou fail-safe para lidar com modificações concorrentes, reforçando a proteção mencionada.

Aspecto

Descrição no Padrão Iterator

Benefício para a Coleção

Intenção

Acessar sequencialmente elementos de um agregado sem expor sua estrutura interna

Protege a representação subjacente (ex.: lista, árvore)

Interface fornecida

Métodos simples como next(), hasNext(), currentItem()

Simplifica o acesso para o cliente

Proteção contra ações indevidas

Impede manipulação direta de índices ou referências internas

Reduz riscos de corrupção ou uso malicioso da coleção

Impacto de alterações na coleção

A lógica de iteração fica encapsulada no iterador

Permite modificar a coleção sem afetar o código cliente

Gabarito: Certo.

Link permanente: /questoes/ce180658