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

[Dúvida] Por que encapsulamos o Cadastro em um serviço?

Para elaborar melhor a minha pergunta, nesta etapa da formação, quando estamos cadastrando o usuário, chegamos a um ponto em que colocamos a lógica do cadastro em uma classe separada e criamos uma instância dentro do controller. A minha única dúvida é: por que fizemos isso em relação ao cadastro de usuários, porém, nos cursos anteriores, ao criarmos a API, não utilizamos algum tipo de abordagem similar? Gostaria de saber se foi pela falta de necessidade no contexto de APIs ou se foi pensado desta maneira para absorvermos melhor os conceitos?

1 resposta
solução!

Olá, Lucas!

Boa questão!

A razão pela qual o cadastro de usuários foi encapsulado em um serviço é para separar as responsabilidades do controlador. O controlador deve lidar apenas com as requisições das pessoas usuárias, enquanto a lógica de cadastro em si deve ser tratada em outro local.

Ao colocarmos a lógica de cadastro diretamente no controlador, acabamos criando uma dependência direta com o IMapper e o UserManager. Além disso, tornamos o código do controlador mais complexo e exposto, dificultando a reutilização dessa lógica em outros contextos.

Com o encapsulamento da lógica de cadastro em um serviço, podemos isolá-la e torná-la mais modular. Dessa forma, podemos reutilizá-la em diferentes partes da aplicação, caso seja necessário. Além disso, facilita a manutenção do código, pois cada parte tem sua responsabilidade bem definida.

No caso dos cursos anteriores, pode ser que a abordagem não tenha sido utilizada por falta de necessidade no contexto das APIs específicas abordadas. Cada contexto pode demandar uma abordagem diferente, e é importante entendermos os conceitos e adaptá-los de acordo com as necessidades específicas de cada projeto.

Espero ter ajudado e bons estudos!