Qual a melhor maneira de pegar dados da form na view ou controller seguindo o padrão MVC?

Olá,

No MVC qual a forma correta de pegar dados inserido na view?
1 - Eu crio um método no controller que pega esses dados e cria um objeto.
2 - Crio esse mesmo método na view, crio o objeto também na view e no controller eu chamo o método.
3 - Crio esse método passando os dados soltos, um monte de variável que será criado e setado no controller?
4 - Outro.

Seria mais prático seguir algum tutorial e postar a dúvida pontualmente. Tem bastante material na internet.

Mas foi exatamente por isso a pergunta. Rsrs…
Em alguns tutos que li, vi os 3 primeiros casos.
Porém meu professor disse que não deve ser instanciado nenhum objeto ‘model’ na view, como no segundo caso. Porém, mandar só atributos da view para controller achei meio gambiarra.
Daí a pergunta…

Particularmente, prefiro a abordagem de ter helpers (POJOs que representam as entities, mas para as camadas view/controller) e usar DTO (onde encapsulo tudo o que quero que vá ou venha da view para a controller.

Nunca tinha ouvido falar sobre DTO, vou procurar por isso agora mesmo!

Eu comecei a trabalhar com um arquiteto, lá em 2010 e ele sempre baseou suas construções sobre DTO (alguns chamam de TO). É uma abordagem mais engessada, mas acho bem bacana e fácil de se fazer, pois dá para se trabalhar com elementos genéricos, herança e implementação.
Se o objetivo é trabalhar com SPA, você monta objetos JS que representam o tal DTO e, como há suporte para herança no JS, isso facilita muito a vida.

Tem mais de uma abordagem mesmo.

Se a ferramenta que você usa não te orienta a essa arquitetura, nem vale a pena perder tempo com Mvc.