Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura de Software — FCC 2025

Arquitetura de SoftwareArquitetura de Software
Código
fc074721
Banca
FCC
Órgão
TRT - 15ª Região (SP)
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
O Tribunal Regional do Trabalho está desenvolvendo um sistema de gestão de documentos judiciais que permite o armazenamento, recuperação e edição de diversos tipos de documentos, como petições, sentenças e relatórios de audiência. O sistema deve permitir que novas funcionalidades sejam adicionadas de forma modular e que alterações nos requisitos de cada tipo de documento não afetem o sistema como um todo. Nessas circunstâncias, a equipe de desenvolvimento deverá aplicar, corretamente, o padrão de projeto mais apropriado, que é o
  1. ASingleton.
  2. BAdapter.
  3. CFactory Method.
  4. DComposite.
  5. EDecorat.
Revelar gabarito e comentário

GabaritoC — Factory Method.

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 de Projeto Factory Method

Gabarito: letra C. O padrão Factory Method é o mais adequado para o cenário descrito, pois encapsula a criação de objetos (documentos) e permite que novos tipos sejam adicionados por meio de subclasses, sem alterar o código existente. Isso atende aos requisitos de modularidade e isolamento de mudanças.

A questão testa o conhecimento dos padrões de projeto GoF, em especial os criacionais. O sistema precisa permitir a adição de novas funcionalidades (tipos de documento) de forma modular, sem que alterações em um tipo afetem o sistema como um todo – exatamente o problema que o Factory Method resolve: ele define uma interface para criar um objeto, mas deixa que as subclasses decidam qual classe instanciar.

Padrão de Projeto

Categoria (GoF)

Problema que Resolve

Aplicação ao Cenário

Adequado?

Factory Method

Criacional

Encapsular a criação de objetos, permitindo que subclasses decidam qual classe instanciar

Permite adicionar novos tipos de documento (petições, sentenças, relatórios) sem modificar o código existente, promovendo modularidade

✅ Sim

Singleton

Criacional

Garantir uma única instância de uma classe e fornecer acesso global a ela

Não resolve a necessidade de criar diferentes tipos de documento de forma modular

❌ Não

Adapter

Estrutural

Converter a interface de uma classe em outra interface esperada pelo cliente

Não se aplica à criação modular de novos tipos de documento

❌ Não

Composite

Estrutural

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

Útil para manipular conjuntos de documentos, mas não para criar novos tipos

❌ Não

Decorator

Estrutural

Atribuir responsabilidades adicionais a um objeto dinamicamente

Adiciona funcionalidades, mas não resolve a criação de novos tipos de documento

❌ Não

Alternativa A — ❌ Incorreta

Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso. Não resolve a necessidade de adicionar novos tipos de documentos modularmente; é um padrão de criação focado em instância única.

Alternativa B — ❌ Incorreta

Adapter converte a interface de uma classe em outra interface esperada pelos clientes, permitindo que classes incompatíveis trabalhem juntas. Não se aplica à criação modular de novos tipos de documentos.

Alternativa C — ✅ Correta ⟵ GABARITO

Factory Method define uma interface para criação de objetos, delegando a instanciação a subclasses. Permite adicionar novos tipos de documento (novas subclasses de produto) sem modificar o código cliente, promovendo modularidade e isolamento de mudanças – exatamente o que o sistema precisa.

Alternativa D — ❌ Incorreta

Composite compõe objetos em estruturas de árvore para representar hierarquias parte-todo, permitindo que clientes tratem objetos individuais e composições de forma uniforme. Útil para manipulação de conjuntos, mas não para criação modular de novos tipos.

Alternativa E — ❌ Incorreta

Decorator atribui responsabilidades adicionais a um objeto dinamicamente, fornecendo uma alternativa flexível à subclasse para extensão de funcionalidade. Embora adicione funcionalidades, não resolve a criação de novos tipos de documentos; é estrutural, não criacional.

Conclusão: O padrão mais apropriado para o sistema descrito é o Factory Method, portanto a resposta correta é a letra C.

Link permanente: /questoes/fc074721