Pergunta

Eu tenho estudado, brincando e trabalhando com o ASP.NET MVC desde a pré -visualização 1 em 2007 (dezembro). Sou fã desde 2008 e apoio o tempo todo.

No entanto, continuo ouvindo e lendo "ASP.NET MVC aplica uma estrita separação de preocupações", incluindo a leitura no Professional ASP.NET MVC 1.0 de Rob Conery, Scott Hanselman, Phil Haack e Scott Guthrie.

O que eu não entendo é a aplicação. E se eu definir meu controlador com ações com nada além de

return View();

E na vista (ASPX View Engine) eu faço tudo? (busca de dados, lógica de negócios, tomada de decisão, renderização etc.)

Como isso (Asp.net MVC) Aplicar eu para separar as preocupações?

Eu acho que isso é uma exagero flagrante e deve ler "sugere uma separação de preocupações".

Você pode me convencer que isso aplica?

Foi útil?

Solução

Eu não acho que isso aplique isso, então eles provavelmente mal enganam. Como você disse, "sugere" ou "promove" é uma palavra melhor.

Outras dicas

O principal é que isso começar No pé direito - ou seja, um controlador e visualização separados. Se você optar por fazer algo louco, ninguém vai impedi -lo. Exceto, esperançosamente, críticas por pares. E bom senso.

Mas contraste com as formas da web, onde você tem que tentar muito duro não para misturar as preocupações.

Claro, você pode fazer tudo na vista. Você seria apenas um programador terrível e não seguia o padrão MVC.

Também tenho certeza de que há algumas coisas que você não podes Faça na vista, apenas no controlador. Eu posso ter meu .net e trilhos confusos, no entanto.

Que mecanismo você sugeriria para a "aplicação" do tipo que deseja? A estrutura deve emitir avisos quando a complexidade ciclomática do código de visão exceder algum limite? A estrutura deve funcionar algo como lint Em sua fonte e bate você no pulso quando você faz coisas da ONU-MVC (seja lá o que for)?

Mais ao ponto, qual seria o beneficiar De toda aquela baleia de dedos? Não estamos tentando escrever aplicativos que agradem nossos usuários?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top