No mundo do ASP.NET MVC, muitas melhorias no ASP.NET foram incluídas na própria estrutura. O principal objetivo desse padrão de design é isolar a lógica de negócios da interface do usuário, a fim de focar em melhor manutenção, melhor testabilidade e uma estrutura mais limpa para o aplicativo.
O ASP.NET MVC possui certos recursos que o tornam a melhor opção para escolher se você precisa de um ou mais dos seguintes itens:
• Um alto nível de controle sobre o HTML gerado : Ao contrário dos Web Forms, as exibições no ASP.NET MVC processam o HTML exatamente como você deseja. Recentemente, os Web Forms foram aprimorados nessa área, mas ainda não possuem o nível de controle que o MVC possui.
• Teste de unidade mais fácil : com o ASP.NET MVC, é muito fácil seguir padrões de teste, como o TDD (Test-driven Development). Devido ao complexo ciclo de vida do evento nos Web Forms, além de uma estrutura baseada em controle, o TDD é muito mais fácil com o MVC.
• Separação de preocupações : refere-se a ter todos os aspectos do sistema claramente separados um do outro. Por causa do padrão implementado, um aplicativo MVC é dividido em partes discretas e fracamente ligadas (modelo, visualizações e controladores), o que facilita a manutenção.
Alguns dos outros benefícios são:
• O próprio padrão MVC facilita o gerenciamento da complexidade, separando claramente a funcionalidade do aplicativo em três partes principais: o modelo, a visualização e o controlador.
• Os aplicativos Web ASP.NET MVC não usam o estado de exibição ou os formulários baseados em servidor. Isso torna a estrutura MVC ideal para desenvolvedores que desejam controle total sobre o comportamento de um aplicativo. O estado de exibição pode se tornar muito grande, o que é um problema para dispositivos como smartphones executando redes lentas (transmitir todas essas informações pode ser muito lento). Em uma página de formulários da Web, você pode ter apenas um por página. Essa é uma restrição bastante importante. No MVC, não existe essa restrição - ou seja, você pode ter quantos elementos quiser.
• O ASP.NET MVC fornece melhor suporte para o TDD (Test-driven Development).
• O ASP.NET MVC funciona bem para aplicativos da web suportados por grandes equipes de desenvolvedores e para designers da web que precisam de um alto grau de controle sobre o HTML. Processamento de solicitação do ASP.NET MVC