Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] [Dúvida] Dúvida

Olá, eu estou fazendo o desafio sobre conversão de moedas com a API ExchangeRate e tive algumas outras dúvidas com relação a ''arquitetura'' do projeto, ao que parece há duas formas de montar o código certo? Uma realizando a lógica de conversão de moedas em nosso código e a outra é buscando da API tudo já pronto. A diferença entre esses códigos é uma ser mais acoplada ou dependente á API e a outra ser mais flexível e reutilizável. Qual seria a melhor alternativa no geral quando desejamos produzir um código que dependa de API, sabendo que elas podem mudar de versão...?

2 respostas
solução!

Olá, Sheila, bom dia!

Tudo vai dependender do escopo do seu projeto.

O jeito mais simples é usando uma classe de serviço, responsável por fazer esse Fetch na API. E aí, caso ela mude, você apenas muda essa classe, ou, se trocar de API, cria uma nova classe, que siga a mesma interface.

Isso pode ser escalonado até uma arquitetura limpa, onde há camadas e camadas para garantir que a lógica não esteja acoplada. Mas esse acoplamento sempre vai existir, quando falamos da implementação, e se eles mudarem de versão, algo que não deveria interferir em código já existente, mas nunca se sabe, você deve ter um lugar centralizado, como uma classe destinada para realizar essa comunicação com a API, onde será o único lugar que você precisará mudar para resolver seu problema.

Certo! Obrigada Edmilson!