Questão de Arquitetura de Software — Arquitetura de Software — FCC 2025
Arquitetura de Software›Arquitetura 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
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.
BBridge, pois separa a abstração da implementação, permitindo que sistemas legados e novos se comuniquem de forma integrada.
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.
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.
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
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.