2
respostas

[Dúvida] Dúvida sobre controllers

No desafio da aula, em que pede ao aluno tentar fazer uma nova requisição mostrando as respostas de determinado tópico. Acontece que no meu programa, eu coloquei essa requisição no controlador TopicoController, qual controla o recurso Topico, pensei: As respostas estão dentro do tópico, consequentemente estaria trabalhando com o recurso de Topico.

Quando verifiquei da maneira que o instrutor fez, notei a criação de uma nova classe RespostaController junto da classe de Service também. Nessas classes, está o mesmo método, contudo numa classe diferente quando comparado com meu programa. Nesse caso, qual desses dois modelos seria o melhor, levando em consideração as boas práticas?

2 respostas

Ola amigo, não estou acompanhando este curso, mas pelo que entendi vc tem uma controller e está questionando a necessidade de ter uma classe específica para retornar a resposta dessa controller?

Mas pelo que eu entendi da sua pergunta o professor deve estar fazendo o uso de DTO (Data Transfer Object) ou DAO (Data Access Object) . Estes são conceitos comuns na arquitetura de software que visam separar as camadas da aplicação e tornar o código mais organizado e escalável.

DTO é um objeto de transferência de dados que é usado para passar informações de uma camada da aplicação para outra. Ele contém apenas informações relevantes para a camada atual e é usado para transferir essas informações de forma segura e eficiente sem expor as informações da camada subjacente. Provavelmente é esta estratégia que o professor está aplicando.

Já o DAO é um objeto que tem como objetivo realizar as operações de persistência de dados na base de dados, como inserir, atualizar, excluir e recuperar informações. Ele é responsável por intermediar as operações de banco de dados e fornecer uma interface de acesso para a camada de negócios da aplicação.

Em resumo, a diferença entre DTO e DAO é que o DTO é usado para transferir informações entre camadas da aplicação, enquanto o DAO é usado para realizar operações de persistência de dados na base de dados. O uso de DTOs e DAOs ajuda a separar as responsabilidades de cada camada da aplicação, tornando o código mais fácil de manter e escalar. Além disso, isso permite uma melhor organização do código e uma melhor segurança, já que as informações sensíveis da base de dados são mantidas longe da camada de apresentação da aplicação.

Espero ter ajudado.