Logo pt.removalsclassifieds.com

Diferença entre MVC e MVC2 (com tabela)

Índice:

Anonim

Se houver algum problema no desenvolvimento de software, seu padrão de design é a principal solução para corrigir isso. Eles são como plantas predefinidas que usamos para resolver problemas de design orientado a objetos em seu projeto. Em primeiro lugar, ele descobre onde está o problema e depois o corrige e também descreve o procedimento e suas consequências. MVC e MVC2 são duas abordagens diferentes para o famoso padrão de arquitetura MVC (Model View Controller).

MVC vs MVC2

A diferença entre MVC e MVC2 é que MVC é um modelo de design de aplicativo composto de três partes interconectadas, enquanto MVC2 é um padrão mais complexo em que o desacoplamento do estado do aplicativo e da lógica de controle da apresentação é feito. O MVC inclui o modelo (dados), a visualização (interface do usuário) e o controlador (solicitação de processos). A principal diferença entre MVC e MVC2 é a complexidade. Em aplicativos da web do mundo Java, os dois modelos de design comuns (Modelo 1 e Modelo 2) estão intimamente relacionados ao MVC e costumam ser erroneamente chamados de MVC1 (ou apenas MVC) e MVC2.

MVC foi a abordagem de primeira geração em aplicativos da web Java em que páginas JavaServer Page (JSP) foram usadas para interface de usuário junto com JavaBeans que poderiam encapsular os vários objetos em um único objeto para implementar a arquitetura MVC. As solicitações do usuário do navegador são enviadas para o JSP, que contém a lógica do controlador e vincula o modelo aos dados que atualizariam a visualização e enviariam a resposta de volta ao usuário, que é exibida na interface do usuário. Essa abordagem combina a funcionalidade de Controlador e Visualização em uma página JSP e, portanto, quebra o paradigma MVC.

MVC2 foi introduzido pela Sun Microsystem org como um padrão de design que não quebra o paradigma MVC, ao contrário do MVC, onde a lógica de negócios era separada das visualizações e todas as solicitações do cliente eram tratadas em um lugar, em vez de em cada arquivo JSP no MVC. No padrão MVC2, JSP é substituído por servlets para a lógica do controlador.

Tabela de comparação entre MVC e MVC2

Parâmetro de comparação

MVC

MVC2

Definição

No MVC, um único componente é responsável por receber solicitações e enviar respostas. No MVC2, existem vários componentes para receber solicitações e enviar respostas. ou seja, controlador e visualização.
Navegação

No MVC, cada JSP possui um controlador e uma lógica de visualização que determina a navegação da próxima página de visualização que a torna redistribuída No MVC2, o servlet contém a lógica de navegação da próxima página de visualização, o que o torna centralizado
Demorado

Leva mais tempo para escrever o código para desenvolver as tags JSP personalizadas para evitar a tag scriptlet Leva menos tempo para se desenvolver, pois todo o controle de navegação é centralizado.
Independência

A lógica de negócios e a lógica de apresentação são combinadas em JSP, para que os web designers e desenvolvedores da web não possam trabalhar simultaneamente. Uma vez que há separação entre a lógica e a visualização, é por isso que o designer e o desenvolvedor podem trabalhar juntos.
Reutilização

É mais difícil de reutilizar e estender por causa do forte acoplamento entre lógica e visão É fácil de reutilizar e estender, o que é adequado para aplicações maiores

O que é MVC?

MVC é um padrão de projeto de arquitetura para problemas recorrentes de projeto de software que fornece uma abordagem de descrição de alto nível para a solução. A arquitetura MVC possui três módulos: modelo, visualização e controlador.

Modelo: Ele representa o estado dos dados (que são exibidos para o usuário na página de visualização).

Visualizar: O módulo de visualização é a interface do usuário por meio da qual o usuário executa a ação e se comunica internamente com o servidor.

Controlador: O módulo controlador processa a solicitação do usuário, lógica de negócios e com a ajuda de um modelo manipula os dados que são exibidos na IU.

O MVC começa com o JSP aceitando a solicitação do cliente que funciona junto com JavaBeans para a lógica de processamento de dados que é enviada ao cliente. O trabalho é dividido entre JavaBeans e JSP, onde JSP invoca os JavaBeans e a lógica de negócios em que JavaBeans chama internamente o banco de dados para salvar / obter os dados. No final, o JSP envia de volta a resposta ao cliente, que atualiza a visualização no navegador.

JavaBeans, que também são chamados de Beans, são responsáveis ​​pelo encapsulamento de vários objetos em um único objeto, enquanto o JSP tem a lógica do Controlador e da Visualização. MVC também é conhecido como centrado na página por causa de seu acesso direto a outra página de visualização, que é ideal para aplicativos menores.

O que é MVC2?

A maioria dos engenheiros de software pensa que MVC2 é uma versão melhorada do MVC, como a versão 2.0; não é. O Modelo 1 e o Modelo 2 foram desenvolvidos simultaneamente e são duas variantes de como as coisas devem ser feitas.

MVC2 é um padrão mais complexo em que o desacoplamento do estado do aplicativo e da lógica de controle da apresentação é feito. Ele tem um controlador no qual a lógica foi escrita para processar todas as solicitações de entrada e as ações necessárias que precisam ser executadas, como a navegação para uma página de visualização diferente ou a atualização do estado do Modelo.

Aqui, no MVC2, o servlet atua como a camada controladora, que também é uma interface entre a camada de Visualização e a camada de Modelo, onde recebe a solicitação do cliente ou da interface do usuário, que nada mais é do que a camada de visualização, e os processa com a validação apropriada, se necessário. JSP tem lógica de visão que usa internamente os Beans, portanto, se os servlets atualizam o estado do modelo, ele é refletido na página de visão.

Ao contrário do MVC, o JSP no MVC2 não tem controladores e lógica de visualização; sua única responsabilidade é buscar o estado atualizado do modelo desse servlet para exibir na página de visualização.

Principais diferenças entre MVC e MVC2

Muitas vezes confundimos MVC2 com a versão 2.0 do MVC, no entanto, não é, são modelos de design Java onde a arquitetura MVC2 é mais complexa e mais adequada para aplicativos maiores.

O fator de distinção entre as relações MVC e MVC2 pode ser resumido nos seguintes motivos:

  1. No MVC, um único componente é responsável por receber solicitações e enviar respostas, mas no MVC2, existem vários componentes para receber solicitações e enviar respostas. ou seja, controlador e visualização.
  2. MVC1 acopla fortemente a lógica de apresentação com a lógica de negócios, mas MVC 2 isola ou desacopla a lógica de apresentação da lógica de negócios.
  3. Em MVC Business, lógica e apresentação Logic é combinada em JSP, então web designers e desenvolvedores web não podem trabalhar simultaneamente, mas em MVC2 há uma separação entre lógica e visão, é por isso que designer e desenvolvedor podem trabalhar juntos.
  4. No MVC 1, controlador e modelo, ambos são JSP ou poderíamos dizer escritos no mesmo JSP. Mas no MVC2 o controlador é o servlet e o modelo é a classe Java.
  5. MVC não suporta a reutilização de componentes do aplicativo, enquanto o MVC2 oferece suporte à reutilização de componentes, o que é bom para aplicativos maiores e mais complexos.

Conclusão

Como vimos a diferença de linha grossa entre MVC e MVC2, apesar de terem nomes semelhantes, mas ambos são usados ​​como soluções para problemas recorrentes de design de sistema.

MVC2 é mais complexo e tem uma separação de interesses que é utilizada para aplicativos maiores ou experiência de usuário intuitiva por causa de seu recurso centralizado, onde todas as solicitações são tratadas por um controlador. Ao contrário do MVC, onde o JSP atual é o que determina a próxima página de visualização a ser aberta.

O MVC2 separa as páginas de visualização dos controladores, ao contrário do MVC, que mantém a lógica de negócios e de visualização acoplada em um JSP. Conseqüentemente, o MVC2 é mais fácil de manter para vários usuários por causa de sua capacidade de reutilização e extensão, e é capaz de suportar um sistema mais complicado em tempo real, como Facebook, Instagram.

Referências

  1. https://www.scientific.net/AMM.198-199.537
  2. https://ieeexplore.ieee.org/abstract/document/777091/
  3. https://academic.oup.com/jpp/article-abstract/64/3/397/6135294

Diferença entre MVC e MVC2 (com tabela)