Logo it.removalsclassifieds.com

Differenza tra MVC e MVC2 (con tabella)

Sommario:

Anonim

Se c'è qualche problema nello sviluppo del software, il suo modello di progettazione è la soluzione principale per risolverlo. Sono come schemi predefiniti che usiamo per risolvere problemi di progettazione orientata agli oggetti nel tuo progetto. Innanzitutto scopre dove si trova il problema, quindi lo risolve e descrive anche la procedura e le sue conseguenze. MVC e MVC2 sono due diversi approcci al famoso modello di architettura MVC (Model View Controller).

MVC contro MVC2

La differenza tra MVC e MVC2 è che MVC è un modello di progettazione dell'applicazione composto da tre parti interconnesse mentre MVC2 è un modello più complesso in cui viene eseguito il disaccoppiamento dello stato dell'applicazione e della logica di controllo della presentazione. MVC include il modello (dati), la vista (interfaccia utente) e il controller (richiesta dei processi). Una delle principali differenze tra MVC e MVC2 è la complessità. Nelle applicazioni web del mondo Java, i due modelli di progettazione comuni (Modello 1 e Modello 2) sono strettamente correlati a MVC e sono spesso erroneamente indicati come MVC1 (o semplicemente MVC) e MVC2.

MVC è stato l'approccio di prima generazione nelle applicazioni Web Java in cui le pagine JavaServer Page (JSP) sono state utilizzate per l'interfaccia utente insieme a JavaBeans che potrebbero incapsulare più oggetti in un singolo oggetto per implementare l'architettura MVC. Le richieste dell'utente dal browser vengono inviate a JSP che contiene la logica del controller e associa il modello per i dati che aggiornerebbero la vista e invieranno la risposta all'utente che viene visualizzata nell'interfaccia utente. Questo approccio combina le funzionalità Controller e View all'interno di una pagina JSP e quindi rompe il paradigma MVC.

MVC2 è stato introdotto da Sun Microsystem org come un modello di progettazione che non rompe il paradigma MVC, a differenza di MVC, in cui la logica aziendale è stata separata dalle viste e tutte le richieste dei client sono state gestite in un unico punto anziché in ciascun file JSP in MVC. Nel modello MVC2, JSP viene sostituito da servlet per la logica del controller.

Tabella di confronto tra MVC e MVC2

Parametro di confronto

MVC

MVC2

Definizione

In MVC, un singolo componente è responsabile della ricezione delle richieste e dell'invio delle risposte. In MVC2, sono presenti più componenti per la ricezione di richieste e l'invio di risposte. vale a dire Controller e vista.
Navigazione

In MVC, ogni JSP ha un controller e una logica di visualizzazione che determina la navigazione della pagina di visualizzazione successiva che la rende ridistribuita In MVC2, la servlet contiene la logica di navigazione della pagina di visualizzazione successiva che la rende centralizzata
Richiede tempo

Richiede più tempo per scrivere il codice per sviluppare i tag JSP personalizzati per evitare tag scriptlet Richiede meno tempo per lo sviluppo poiché tutto il controllo della navigazione è centralizzato.
indipendenza

Logica aziendale e presentazione La logica è combinata in JSP, quindi i web designer e gli sviluppatori web non possono lavorare contemporaneamente. Poiché ha una separazione tra la logica e la vista, ecco perché designer e sviluppatore possono lavorare insieme.
Riutilizzabilità

È più difficile da riutilizzare ed estendere a causa dello stretto accoppiamento tra logica e vista È facile da riutilizzare ed estendere ed è adatto per applicazioni più grandi

Cos'è MVC?

MVC è un modello di progettazione architettonica per problemi ricorrenti di progettazione software che offre un approccio descrittivo di alto livello alla soluzione. L'architettura MVC ha tre moduli: modello, vista e controller.

Modello: Rappresenta lo stato dei dati (che vengono visualizzati all'utente nella pagina di visualizzazione).

Visualizzazione: Il modulo di visualizzazione è l'interfaccia utente attraverso la quale l'utente esegue l'azione e comunica internamente al server.

Controllore: Il modulo controller elabora la richiesta dell'utente, la logica aziendale e con l'aiuto di un modello manipola i dati che vengono visualizzati nell'interfaccia utente.

MVC inizia con JSP che accetta la richiesta del client che funziona insieme a JavaBeans per la logica di elaborazione dei dati che viene inviata al client. Il lavoro è diviso tra JavaBeans e JSP dove JSP richiama JavaBeans e la logica di business in cui JavaBeans richiama internamente il database per salvare/ottenere i dati. Alla fine, JSP restituisce la risposta al client che aggiorna la vista nel browser.

JavaBeans, noto anche come Bean, è responsabile dell'incapsulamento di più oggetti in un singolo oggetto mentre il JSP ha sia la logica Controller che View. MVC viene anche definito incentrato sulla pagina a causa del suo accesso diretto a un'altra pagina di visualizzazione, ideale per le applicazioni più piccole.

Cos'è MVC2?

La maggior parte degli ingegneri del software pensa che MVC2 sia una versione migliorata di MVC, come la versione 2.0; non lo è. Il Modello 1 e il Modello 2 sono stati sviluppati contemporaneamente e sono due varianti di come dovrebbero essere fatte le cose.

MVC2 è un modello più complesso in cui viene eseguito il disaccoppiamento dello stato dell'applicazione e della logica di controllo della presentazione. Ha un controller in cui è stata scritta la logica per elaborare tutte le richieste in arrivo e le azioni richieste da intraprendere, come la navigazione in una pagina di visualizzazione diversa o l'aggiornamento dello stato del Modello.

Qui, in MVC2, il servlet funge da livello di controllo che è anche un'interfaccia tra il livello di visualizzazione e il livello di modello in cui riceve la richiesta dal client o dall'interfaccia utente che non è altro che il livello di visualizzazione e li elabora con la convalida appropriata se necessario. JSP ha una logica di visualizzazione che utilizza internamente i Bean, quindi se i servlet aggiornano lo stato del modello si riflette nella pagina di visualizzazione.

A differenza di MVC, JSP in MVC2 non ha né controller né logica di visualizzazione; la sua unica responsabilità è recuperare lo stato aggiornato del modello da quel servlet per visualizzarlo nella pagina di visualizzazione.

Principali differenze tra MVC e MVC2

Spesso confondiamo MVC2 come la versione 2.0 di MVC, tuttavia, non lo è, sono i modelli di progettazione Java in cui l'architettura MVC2 è più complessa e più adatta per le applicazioni più grandi.

Il fattore di distinzione tra relazioni MVC e MVC2 può essere riassunto per i seguenti motivi:

  1. In MVC, un singolo componente è responsabile della ricezione delle richieste e dell'invio delle risposte, ma in MVC2 sono presenti più componenti per la ricezione delle richieste e l'invio delle risposte. vale a dire Controller e vista.
  2. MVC1 associa strettamente la logica di presentazione alla logica di business, ma MVC 2 isola o disaccoppia la logica di presentazione dalla logica di business.
  3. In MVC La logica aziendale e la presentazione La logica è combinata in JSP, quindi i web designer e gli sviluppatori web non possono lavorare contemporaneamente ma in MVC2 c'è una separazione tra logica e vista, ecco perché designer e sviluppatore possono lavorare insieme.
  4. In MVC 1, controller e model, sono entrambi JSP o potremmo dire scritti nello stesso JSP. Ma in MVC2 il controller è servlet e il modello è classe Java.
  5. MVC non supporta la riutilizzabilità dei componenti dell'applicazione, mentre MVC2 supporta la riutilizzabilità dei componenti, il che è utile per applicazioni più grandi e complesse.

Conclusione

Come abbiamo visto, la differenza di linea spessa tra MVC e MVC2 nonostante abbiano nomi simili ma entrambi sono usati come soluzioni per problemi di progettazione del sistema ricorrenti.

MVC2 è più complesso e presenta una separazione dei problemi che viene utilizzata per applicazioni più grandi o un'esperienza utente intuitiva a causa della sua funzionalità centralizzata in cui tutte le richieste vengono gestite da un controller. A differenza di MVC in cui il JSP corrente è quello che determina l'apertura della pagina di visualizzazione successiva.

MVC2 disaccoppia le pagine di visualizzazione dai controller, a differenza di MVC che mantiene accoppiate sia la logica aziendale che quella della visualizzazione in un JSP. Quindi, MVC2 è più facile da mantenere per più utenti grazie alla sua riutilizzabilità e funzionalità di estensione ed è in grado di supportare un sistema più complicato in tempo reale, come Facebook, Instagram.

Riferimenti

  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

Differenza tra MVC e MVC2 (con tabella)