Questão de Arquitetura de Software — Conceitos Básicos em Arquitetura de Software — FGV 2025
Arquitetura de Software›Conceitos Básicos em Arquitetura de Software
Código
fg104543
Banca
FGV
Órgão
AL-AM
Ano
2025
Nível
Superior
Cargo
Analista Legislativo - Analista de Sistema
O Analista de Sistemas está aplicando a Arquitetura Hexagonal (Ports and Adapters) no novo sistema de gestão de Atos Normativos para garantir que a lógica de domínio não seja poluída por detalhes técnicos externos.Nesse contexto, a principal vantagem que o uso de Portas e Adaptadores oferece à Lógica de Domínio da aplicação é
Aisolar completamente a Lógica de Domínio dos detalhes de implementação de infraestrutura e agentes externos.
Bgarantir a comunicação direta e otimizada entre o domínio e o banco de dados.
Cpermitir que o domínio seja desenvolvido em uma linguagem de programação diferente da usada nos adaptadores.
Dsimplificar o deploy da aplicação, eliminando a necessidade de containers.
Eimpor o uso de Padrões de Projeto Estruturais como Adapter e Facade, em todo o sistema.
Revelar gabarito e comentário▾
GabaritoA — isolar completamente a Lógica de Domínio dos detalhes de implementação de infraestrutura e agentes externos.
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”.
Arquitetura Hexagonal (Ports and Adapters)
Gabarito: letra A. A principal vantagem da Arquitetura Hexagonal é isolar a lógica de domínio dos detalhes de infraestrutura e agentes externos, mantendo o núcleo da aplicação independente e testável. Para isso, utiliza o conceito de portas (interfaces definidas no domínio) e adaptadores (implementações concretas que conectam o domínio ao mundo externo).
A banca cobra o entendimento do objetivo central desse estilo arquitetural. Vamos analisar cada alternativa.
Alternativa
Descrição
Veredito
Justificativa
A
Isolar completamente a Lógica de Domínio dos detalhes de implementação de infraestrutura e agentes externos
✅ Correta (GABARITO)
O padrão Ports and Adapters foi criado para que o domínio não conheça detalhes externos; interações ocorrem via portas (interfaces) e adaptadores, mantendo o núcleo independente e testável.
B
Garantir a comunicação direta e otimizada entre o domínio e o banco de dados
❌ Incorreta
A comunicação não é direta: o domínio depende de uma interface (porta) e o adaptador de banco a implementa, evitando acoplamento direto e tornando o domínio independente da tecnologia de persistência.
C
Permitir que o domínio seja desenvolvido em uma linguagem de programação diferente da usada nos adaptadores
❌ Incorreta
Embora tecnicamente possível, não é uma vantagem intrínseca nem o objetivo principal da arquitetura hexagonal; normalmente tudo é desenvolvido na mesma linguagem.
D
Simplificar o deploy da aplicação, eliminando a necessidade de containers
❌ Incorreta
A arquitetura hexagonal não tem relação com containers ou deploy; containers são tecnologia de empacotamento e implantação independente do estilo arquitetural.
E
Impor o uso de Padrões de Projeto Estruturais como Adapter e Facade em todo o sistema
❌ Incorreta
A arquitetura hexagonal não impõe o uso desses padrões em todo o sistema; eles podem ser usados, mas não são obrigatórios nem definidores do estilo.
Arquitetura Hexagonal: Portas (interfaces no domínio) (Definem contratos, Isolam o núcleo); Adaptadores (implementações) (Conectam ao mundo externo, Banco de dados, APIs, Interface de usuário); Vantagem principal (Domínio independente, Domínio testável, Sem acoplamento direto)
Alternativa A — ✅ Correta ⟵ GABARITO
Afirma que a arquitetura hexagonal "isola completamente a Lógica de Domínio dos detalhes de implementação de infraestrutura e agentes externos". Isso está correto: o padrão Ports and Adapters foi criado exatamente para que o domínio não conheça nada sobre bancos de dados, APIs, interfaces de usuário, etc. Toda interação externa passa por portas (interfaces) que o domínio define, e os adaptadores implementam essas interfaces sem contaminar o núcleo.
Alternativa B — ❌ Incorreta
Afirma que a vantagem é "garantir a comunicação direta e otimizada entre o domínio e o banco de dados". Na verdade, a comunicação não é direta: o domínio depende de uma interface (porta) e o adaptador de banco de dados a implementa. O objetivo é justamente evitar acoplamento direto, tornando o domínio independente da tecnologia de persistência.
Alternativa C — ❌ Incorreta
Diz que permite "que o domínio seja desenvolvido em uma linguagem de programação diferente da usada nos adaptadores". Embora tecnicamente seja possível (ex.: Java no domínio e Python nos adaptadores via sockets), isso não é uma vantagem intrínseca nem o objetivo principal da arquitetura hexagonal. Normalmente tudo é desenvolvido na mesma linguagem. A afirmação é um distrator.
Alternativa D — ❌ Incorreta
Afirma que simplifica o deploy "eliminando a necessidade de containers". A arquitetura hexagonal não tem relação com containers ou deploy. Containers (Docker, etc.) são uma tecnologia de empacotamento e implantação, independente do estilo arquitetural adotado.
Alternativa E — ❌ Incorreta
Diz que "impõe o uso de Padrões de Projeto Estruturais como Adapter e Facade, em todo o sistema". A arquitetura hexagonal utiliza o padrão Adapter para criar os adaptadores, mas não impõe seu uso em todo o sistema; o domínio, por exemplo, não precisa usar Adapter. Além disso, Facade não é um requisito.
PEGA ESSA DICA!
Ao estudar arquitetura hexagonal, memorize o lema: "domínio puro, infraestrutura plugável". Identifique na prova qual alternativa fala em isolar o domínio das tecnologias externas — essa será a correta.