Olá! Surgiu uma dúvida. Na aula eu entendi que a lógica de negócios deveria ficar na Controler.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá! Surgiu uma dúvida. Na aula eu entendi que a lógica de negócios deveria ficar na Controler.
Ei! Tudo bem, Michael?
No desenvolvimento com o padrão MVC e o Ciclo de vida de aplicações, é muito comum surgir essa confusão sobre onde depositar a inteligência do software. A boa prática indica que a lógica de negócios deve residir preferencialmente no Model ou em camadas de serviço, e não na Controller.
A função da Controller deve ser apenas de "maestro": ela recebe a requisição, pergunta ao Model o que deve ser feito e entrega o resultado para a View. Se colocamos a lógica na Controller, dificultamos a reutilização de código e os testes unitários.
No caso da atividade, o erro maior estava na View. Ela jamais deve realizar cálculos de média ou processar recomendações, pois sua única responsabilidade é exibir dados. Por isso, a alternativa D é a correta: precisamos garantir que a View foque apenas na apresentação para manter o sistema sustentável.
Espero ter ajudado e qualquer dúvida que surgir, compartilhe conosco aqui no fórum.
Bons estudos e até mais!