Com o aumento "exponencial" da complexidade das apĺicações atuais, torna-se estritamente necessário ter uma maneira de separar a "responsabilidade", e também poder alterar cada parte dela sem correr o risco de atingir todo o contexto da mesma. Esse é um dos objetivos principais do modelo MVC.

       O  Modelo MVC, não é algo que surgiu derrepente, quando mais precisavámos, e nem algo relativamente novo no mercado. Ele existe desde os tempos do Smaltalk e da Xerox Parc.

Entendendo sua Arquitetura

       Como já dito, separar as "responsabilidades", e poder alterar as partes sem alterar toda a sua aplicação, vem sendo algo muito requisitado, mas como o MVC ajuda a resolver este problema?

 

      O Modelo MVC(Model View Controller), lhe dá a oportunidade de poder dividir a sua aplicação em três camadas:

Veja figura :

      Vemos a relação entre o controller, o model e o view. 

Mas quando usar o ASP.NET MVC ? 

1º Quando você precisa de controle total sobre o HTML.

2º Quando há necessidade de unidades de teste no projeto.

3º Quando a aplicação necessita de separação entre o desing, o código e a camada de dados.

4º Quando há obrigação de reduzir o tamanho das páginas geradas.

5º Quando é eliminar ou reduzir os PostBacks.

6º Quando uma equipe grande desenvolve uma aplicação. Cada um pode-se dedicar a uma parte ( controlador, model, wiew ) da aplicação.

7º Quando é necessário estender a aplicação constantemente.

      Com esse artigo, vimos a diferença entre as camadas do padrão MVC e algumas opções de quando usá-lo em uma aplicação. Foi possível verificar que a separação das camadas de controle, modelo e apresentação posibilita a vantagens na manutenção do código, pois uma não tem conhecimento da outra, sendo assim um baixo acoplamento.