Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Por que da interface

Gostaria de saber por que foi criado a interface

public interface IConverteDados {
    <T> T obterDados(String json, Class<T> classe);
}

Sendo que se eu fizer o método:

    public <T> T obterDados(String json, Class<T> classe) {
        try {
            return mapper.readValue(json, classe);
        } catch (JsonProcessingException e) {
            throw new RuntimeException(e);
        }
    }

Ele funciona sem interface. Nesse caso não seria melhor só um método Genérico do que fazer uma interface para isso?

1 resposta
solução!

Olá! Tudo bem?

A criação de uma interface como IConverteDados pode ser vantajosa, especialmente em projetos Spring orientados a objetos:

  1. Desacoplamento: A interface permite alterar implementações de obterDados sem afetar o código que a usa, essencial em sistemas que precisam de flexibilidade.
  2. Testabilidade: Facilita o uso de mocks para testes unitários, tornando-os mais isolados das implementações concretas.
  3. Injeção de Dependências: No Spring, a interface possibilita a troca de implementações sem alterações no código-fonte.
  4. Polimorfismo: Permite diferentes implementações para o mesmo método, adaptando o comportamento ao contexto (ex: leitura de JSON e XML).

Se o projeto vai crescer, implementar uma interface garante flexibilidade, escalabilidade e facilidade de manutenção. Porém, em casos mais simples ou quando a implementação não varia, usar apenas um método pode ser mais prático e direto.

No contexto da aula, foi implementado uma interface para apresentar para os alunos as vantagens que esse tipo de implementação pode trazer.

Espero ter esclarecido e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.