A analista Joana está desenvolvendo a aplicação ParaibaCerta...
À luz da arquitetura hexagonal, ao implementar o repositório da camada de persistência e o teste automatizado, Joana adicionou à ParaibaCerta, respectivamente:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: C - uma porta secundária e um adaptador primário.
Vamos entender por que a alternativa C é a correta e por que as outras são incorretas.
A Arquitetura Hexagonal, também conhecida como Arquitetura de Portas e Adaptadores, foi introduzida por Alistair Cockburn. Sua principal característica é separar o núcleo da aplicação (a lógica de negócios) dos detalhes de implementação, como interfaces de usuário, bancos de dados e dispositivos externos. Essa separação é feita por meio de portas e adaptadores.
Na Arquitetura Hexagonal, temos:
- Portas Primárias: Interagem diretamente com o núcleo da aplicação, como interfaces de usuário e APIs que acionam a lógica de negócios.
- Portas Secundárias: São usadas pelo núcleo da aplicação para interagir com serviços externos, como bancos de dados e sistemas de arquivos.
- Adaptadores Primários: Implementam as portas primárias, permitindo que a aplicação receba entradas externas.
- Adaptadores Secundários: Implementam as portas secundárias, permitindo que a aplicação interaja com serviços externos.
Com isso em mente, vamos analisar a questão em detalhes:
Joana implementou dois componentes:
- O repositório da camada de persistência: Este é um componente que a aplicação usa para interagir com o banco de dados. Na Arquitetura Hexagonal, isso se encaixa como uma porta secundária (pois é algo que a aplicação usa para interagir com um serviço externo).
- O teste automatizado para a interface gráfica: Este é um mecanismo que simula a interação do usuário com a aplicação. Na Arquitetura Hexagonal, isso se encaixa como um adaptador primário (pois é algo que permite a entrada de dados na aplicação).
Portanto, a alternativa C está correta ao afirmar que Joana adicionou uma porta secundária (para o repositório) e um adaptador primário (para o teste da interface gráfica).
Agora, vejamos por que as outras alternativas estão incorretas:
- A - uma porta primária e uma porta secundária: Incorreto, porque um teste automatizado de interface gráfica não é uma porta primária. Ele é um adaptador primário.
- B - uma porta primária e um adaptador primário: Incorreto, porque o repositório não é uma porta primária. Ele é uma porta secundária.
- D - um adaptador secundário e uma porta secundária: Incorreto, porque o teste automatizado de interface gráfica não é um adaptador secundário. Ele é um adaptador primário.
- E - um adaptador primário e um adaptador secundário: Incorreto, porque o repositório não é um adaptador secundário. Ele é uma porta secundária.
Com essa explicação detalhada, espero que tenha ficado claro como a Arquitetura Hexagonal organiza os componentes de uma aplicação e por que a alternativa C é a correta. Se precisar de mais alguma coisa, estou à disposição!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
"...modelo e o repositório da camada de persistência" ⮕ interface para usar o banco de dados no sentido "de dentro para fora" ⮕ porta secundária
"...fluxo da interface gráfica" ⮕ traduz dados do mundo exterior "de fora pra dentro" ⮕ adaptador primário
Mas a questão não pedia somente "ao implementar o repositório da camada de persistência e o teste automatizado"?
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo