Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESGRANRIO 2025

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
cg023509
Banca
CESGRANRIO
Órgão
BANESE
Ano
2025
Nível
Médio
Cargo
Técnico Bancário III - Desenvolvimento
J é um desenvolvedor de uma empresa e foi incumbido de criar um novo sistema de arquivos. Esse sistema seguirá uma estrutura de árvore com pastas que podem conter arquivos ou outras pastas. Além disso, tanto as pastas como os arquivos compartilharão operações como copiar, mover e excluir.A partir desse contexto, J lembrou que há um padrão de projeto que poderia ajudá-lo nessa tarefa, que é o
  1. AAdapter
  2. BCommand
  3. CComposite
  4. DDAO
  5. ESingleton
Revelar gabarito e comentário

GabaritoC — Composite

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: Composite

Gabarito: letra C. O padrão Composite é o mais adequado para representar estruturas hierárquicas em árvore, onde objetos individuais (arquivos) e composições (pastas) são tratados de forma uniforme, compartilhando operações como copiar, mover e excluir. Esse padrão é amplamente utilizado em sistemas de arquivos e interfaces gráficas.

Padrão de Projeto

Categoria

Função Principal

Aplicação no Contexto

Gabarito

Composite

Estrutural

Compor objetos em estruturas de árvore para representar hierarquias parte-todo

Pastas (composições) e arquivos (folhas) compartilham operações como copiar, mover e excluir

Adapter

Estrutural

Converter interface de uma classe em outra esperada pelo cliente

Não se aplica a estruturas hierárquicas em árvore

Command

Comportamental

Encapsular solicitação como objeto

Não resolve tratamento uniforme de objetos individuais e composições

DAO

Persistência

Abstrair e encapsular acesso a fontes de dados

Não relacionado com estruturas de árvore ou operações em arquivos

Singleton

Criacional

Garantir que uma classe tenha apenas uma instância

Não resolve problema de composição hierárquica

1Objetos individuais (folhas)
Arquivo
Copiar, mover, excluir
2Composições (nós)
Pasta
Copiar, mover, excluir
3Tratamento uniforme
Mesma interface para folhas e nós
Composite (estrutural)
LEVELsoulevel.com.br
Composite (estrutural): Objetos individuais (folhas) (Arquivo, Copiar, mover, excluir); Composições (nós) (Pasta, Copiar, mover, excluir); Tratamento uniforme (Mesma interface para folhas e nós)

Alternativa A — ❌ Incorreta

O Adapter converte a interface de uma classe em outra interface esperada pelos clientes, permitindo que classes com interfaces incompatíveis trabalhem juntas. Não se aplica à criação de estruturas hierárquicas em árvore.

Alternativa B — ❌ Incorreta

O Command encapsula uma solicitação como um objeto, permitindo parametrizar clientes com filas, requisições e operações. Não resolve o problema de tratar objetos individuais e composições de maneira uniforme.

Alternativa C — ✅ Correta ⟵ GABARITO

O Composite é um padrão estrutural que compõe objetos em estruturas de árvore para representar hierarquias parte-todo. Ele permite que clientes tratem objetos individuais e composições de objetos de forma uniforme, exatamente o que o enunciado descreve: pastas (composições) e arquivos (folhas) compartilham operações como copiar, mover e excluir.

Alternativa D — ❌ Incorreta

O DAO (Data Access Object) é um padrão para abstrair e encapsular o acesso a fontes de dados, como bancos de dados. Não está relacionado com estruturas de árvore ou operações em arquivos.

Alternativa E — ❌ Incorreta

O Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Não resolve o problema de composição hierárquica.

Gabarito: letra C.

Link permanente: /questoes/cg023509