Em um aplicativo MVC, o controlador ou o modelo deve acessar os dados? [fechadas]

Estamos tendo alguns debates filosóficos em nossa empresa sobre onde as chamadas para a Business Logic devem ser realizadas para executar operações CRUD.

Acredito que o Modelo deva consistir em sua estrutura de dados e que o controlador seja responsável por preencher os dados.

Meu colega de trabalho acredita que toda a população deve ser feita na própria classe de modelo e simplesmente chamada pelo controlador. Isso mantém o controlador limpo e limpo (mas, na minha opinião, desordena o modelo).

Ele também acredita que qualquer chamada que retorne um objeto Json deve acontecer no modelo, não no controlador. O modelo retornaria uma matriz para o controlador, que retornaria isso como um objeto Json.

Quais são alguns prós e contras diferentes para cada um e existe uma maneira certa ou errada de fazer isso?

questionAnswers(5)

yourAnswerToTheQuestion