Pular para o conteúdo principal

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

Arquitetura de SoftwareArquitetura de Software
Código
fc073232
Banca
FCC
Órgão
Prefeitura de São Paulo - SP
Ano
2025
Nível
Superior
Cargo
Analista de Planejamento e Desenvolvimento Organizacional Tecnologia da Informação e Comunicação
Uma prefeitura está desenvolvendo um sistema para integrar um módulo de pagamentos legados, cujo formato de dados é incompatível com o novo subsistema de cobrança online. E necessário permitir que o novo subsistema utilize o módulo antigo sem modificá-lo diretamente. Nesse contexto, o padrão estrutural Gang of Four (GOF) que resolve de forma ideal o problema de integração entre interfaces incompatíveis é o
  1. AAdapter, pois converte a interface de uma classe para outra interface esperada pelos clientes, tornando possível a comunicação entre sistemas legados e novos.
  2. BBridge, pois separa a abstração da implementação, permitindo que sistemas legados e novos se comuniquem de forma integrada.
  3. CComposite, pois organiza objetos em estruturas hierárquicas, tratando composições e objetos individuas de forma integrada, permitindo a comunicação entre sistemas legados e novos.
  4. DFacade, pois fornece uma interface unificada e simplificada para um conjunto complexo de subsistemas, tornando mais simples a comunicação entre sistemas legados e novos.
  5. EFlyweight, pois compartilha estado intrínseco para reduzir o consumo de memória quando há múltiplas instâncias semelhantes interagindo entre sistemas ou subsistemas.
Revelar gabarito e comentário

GabaritoA — Adapter, pois converte a interface de uma classe para outra interface esperada pelos clientes, tornando possível a comunicação entre sistemas legados e novos.

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”.

Integração de sistemas legados: padrão Adapter (GOF)

Gabarito: letra A. O padrão Adapter (ou Adaptador) resolve exatamente o problema de interfaces incompatíveis: ele converte a interface de uma classe para outra interface esperada pelo cliente, permitindo que um sistema novo utilize um módulo legado sem modificá-lo. É o padrão estrutural do GoF ideal para esta situação.

A banca testa o conhecimento dos padrões estruturais do GoF e sua aplicação prática. Cada alternativa descreve um padrão, mas apenas o Adapter atende ao requisito de converter interfaces incompatíveis.


Padrão GOF

Função Principal

Aplicação ao Problema

Adequação

Adapter

Converte interface de uma classe para outra esperada pelo cliente

Permite que novo subsistema use módulo legado sem modificá-lo, adaptando interfaces incompatíveis

✅ Ideal

Bridge

Separa abstração da implementação, permitindo variação independente

Não resolve incompatibilidade de interfaces; foca em desacoplamento de hierarquias

❌ Inadequado

Composite

Organiza objetos em hierarquias parte-todo, tratando individuais e composições uniformemente

Não se aplica à integração entre interfaces incompatíveis

❌ Inadequado

Facade

Fornece interface unificada e simplificada para subsistemas complexos

Facilita comunicação, mas não converte interfaces incompatíveis; apenas esconde complexidade

❌ Inadequado

Flyweight

Compartilha estado intrínseco para reduzir consumo de memória em muitas instâncias

Não tem relação com adaptação de interfaces ou integração de sistemas

❌ Inadequado

1Adapter
Converte interface incompatível
Permite usar legado sem modificá-lo
2Bridge
Separa abstração da implementação
3Composite
Hierarquia parte-todo
4Facade
Interface simplificada, não converte
5Flyweight
Compartilha estado, reduz memória
Padrões Estruturais GoF
LEVELsoulevel.com.br
Padrões Estruturais GoF: Adapter (Converte interface incompatível, Permite usar legado sem modificá-lo); Bridge (Separa abstração da implementação); Composite (Hierarquia parte-todo); Facade (Interface simplificada, não converte); Flyweight (Compartilha estado, reduz memória)

Alternativa A — ✅ Correta ⟵ GABARITO

O Adapter age como um "tradutor" entre duas interfaces: ele recebe chamadas no formato esperado pelo novo subsistema e as adapta para o formato do módulo legado, sem que nenhum dos dois precise ser alterado. É exatamente a definição do padrão: "converte a interface de uma classe para outra interface esperada pelos clientes".


Alternativa B — ❌ Incorreta

O padrão Bridge (Ponte) separa a abstração da implementação, permitindo que ambas variem independentemente. Ele não tem o objetivo de adaptar interfaces incompatíveis, mas sim de desacoplar hierarquias. O problema apresentado não envolve abstração versus implementação, e sim incompatibilidade de formatos.


Alternativa C — ❌ Incorreta

O Composite (Composto) organiza objetos em estruturas hierárquicas de parte-todo, permitindo que clientes tratem objetos individuais e composições de forma uniforme. Não se aplica à integração entre interfaces incompatíveis.


Alternativa D — ❌ Incorreta

O Facade (Fachada) fornece uma interface simplificada para um conjunto complexo de subsistemas. Embora facilite a comunicação, ele não resolve o problema de incompatibilidade de interfaces – ele apenas esconde a complexidade, mas as interfaces subjacentes continuam incompatíveis. O Facade não converte interfaces.


Alternativa E — ❌ Incorreta

O Flyweight (Peso-leve) é usado para compartilhar estado intrínseco e reduzir o consumo de memória quando há muitas instâncias semelhantes. Não tem relação com integração entre sistemas ou adaptação de interfaces.


PEGA ESSA DICA!

Para questões de padrões GoF, identifique o problema que o padrão resolve: Adapter → interfaces incompatíveis; Bridge → abstração × implementação; Composite → hierarquias parte-todo; Facade → simplificação de subsistema; Flyweight → otimização de memória. Memorize esta associação e acerte direto.

Gabarito: letra A

Link permanente: /questoes/fc073232