MVC1 vs MVC2
O MVC é, na verdade, um padrão de design que pode ser categorizado em dois modelos: o MVC Modelo 1 e o MVC Modelo 2. Abreviado, eles são MVC1 e MVC2, ambos modelos de design Java.
O MVC2 é, na verdade, um padrão mais complexo, onde é feita a separação da lógica de controle de apresentação e do estado do aplicativo. Portanto, diferentemente da arquitetura MVC1, o Modelo 2 não vem com propriedades centradas em páginas. O Modelo 2 também possui um controlador responsável por todas as solicitações recebidas, calcula o que virá a seguir e qual visualização será exibida. No MVC2, os links das páginas JSP para a próxima fase ou exibição também passariam pelo controlador, em oposição ao MVC1, em que uma página JSP leva diretamente a uma página JSP.
Portanto, basicamente, o MVC1 é composto principalmente por elementos de controle que utilizam JSP, enquanto o MVC2 utiliza um JSP e Servlet que se acredita serem melhores que o Modelo 1 no fornecimento de interface com o usuário. O MVC1 também usa Java beans para recuperação de dados.
A diferença nos sistemas dos dois modelos se torna óbvia na maneira como as páginas são processadas e visualizadas. Para explicar melhor, o MVC1 começa com a solicitação sendo aceita por um JSP que trabalha em conjunto com um Bean, os dois combinados processando a lógica para produzir resultados. O trabalho é dividido entre os dois, pois os Beans assumem o papel de modelo, enquanto o JSP não é apenas o "Controller", mas também o "View". Esse tipo de acesso direto entre páginas torna o modelo MVC1 ideal para aplicativos menores.
Por outro lado, o MVC2 geralmente é utilizado para aplicativos maiores ou interativos devido ao seu recurso de “centralização”. Diferente do MVC1, onde a página atual em exibição é a que determina a próxima página a ser aberta, a arquitetura MVC2 utiliza o controlador entre o navegador e as páginas Servlet ou JSP. Como mencionado, o controlador atua como a principal “passagem” na qual as solicitações passam para pavimentar o caminho para a próxima visualização. O Modelo 2 basicamente separa essas páginas JSP e Servlets um do outro, enquanto o Modelo 1 mantém os dois acoplados. Portanto, o MVC2 é mais fácil de manipular para muitos usuários e é capaz de suportar um sistema mais complicado.
Atualmente, porém, muito poucos aplicativos usam o MVC1 como seu design de arquitetura. Como as demandas por navegação na web aumentaram, é norma utilizar o MVC2 em quaisquer programas que estejam sendo feitos. Obviamente, o fato de o MVC1 ser infinitamente simples significa que ele continua sendo o favorito para fins de estudo. No entanto, aplicações práticas não são mais praticadas com a mesma frequência que o MVC2.
Um dos equívocos comuns hoje, no entanto, inclui o uso do MVC1 e MVC2. A maioria das pessoas acredita que o MVC2 é realmente uma nova versão do MVC, mas o fato é que é uma subcategoria ou outra maneira de abordar o processo, daí o nome Modelo 2. Por esse motivo, a frase MVC1 foi criada para criar uma distinção entre os dois modelos.
Idealmente, aqueles que desejam dominar a arquitetura de software devem optar por estudar os dois aspectos do MVC, em vez de apenas o MVC2. Isso proporcionaria uma melhor compreensão de todo o sistema, considerando que o MVC1 foi introduzido pela primeira vez.
Resumo:
1.MVC2 utiliza um controlador de sistema, enquanto o MVC1 não.
2.O processo MVC1 passa de uma página JSP para outra, enquanto o MVC2 direciona para um painel comum antes de direcionar para outra página.
3.O MVC1 raramente é usado hoje e é principalmente bom para programas simples e independentes.
4.MVC2 é o modelo de arquitetura mais comum em uso atualmente e é melhor para sistemas mais complexos.