QuestLab Plataforma Inteligente de Questões
Questão pública

Questão de Tecnologia da Informação

FCC - MPE SE - Analista do Ministério Público - Área: Tecnologia da Informação: Desenvolvimento - 2026 • FCC • 2026

Uma equipe de TI mantém um módulo de processamento de denúncias online em uma API ASP.NET Core. Atualmente, a classe DenunciaService possui um switch com ifs para cada canal de entrada (formulário web, aplicativo móvel, denúncia presencial digitalizada). Além disso, ela valida os dados, calcula prioridades, chama o repositório de denúncias e escreve logs . Sempre que um novo canal de recebimento é criado, DenunciaService cresce e exige mudanças no switch . Para a equipe facilitar testes e adicionar canais sem alterar o serviço central, aderindo à Arquitetura Limpa e SOLID/DRY/KISS, a melhor abordagem é
A
usar um Service Locator estático para resolver webService ou AppMobileService por nome. Isso reduz dependâncias explícitas, mas cria acoplamento implícito e dificulta testes.
B
criar uma enum DenunciaChannel e aplicar Strategy dentro do próprio DenunciasService , selecionando via switch . Organiza melhor mantendo a exigência de editar a classe central a cada novo canal.
C
manter a lógica de decisão em um switch dentro de DenunciaService , mas extrair os blocos de cada canal para métodos privados. O código fica mais organizado e a classe continua centralizando toda a lógica, precisando ser alterada para novos canais.
D
definir interfaces como ICanalDenuncia e IPrioridadeCalculator , implementar adaptadores separados para cada canal (exemplo: WebAdapter , AppMobileAdapter , PresencialAdapter ) e registrar no container de Dependency Injection. O DenunciaService depende apenas de abstrações e recebe IEnumerable , permitindo extensões sem alterar o núcleo.
E
criar uma classe base DenunciaServiceBase e herdar WebDenunciaService , AppMobile DenunciaService etc. O controller decide qual subclasse instanciar, o que distribui a lógica mantendo forte acoplamento com implementações concretas.
Quer responder esta questão e acompanhar seu desempenho?

Entre na QuestLab para responder, acessar a AURA, estatísticas, cadernos, anotações e outros recursos da plataforma.