solo voglio sapere Qual è la differenza reale tra MVC e MVC Model2 nello sviluppoQual è la differenza reale tra MVC e MVC Model2
risposta
Per illustrare le risposte precedenti (e aggiungere spiegazioni this article):
MVC2 è un abuse of language riferendosi in realtà l'architettura JSP Model 2, al contrario di JSP Modello 1:
la prima tecnologia Java per lo sviluppo lato server web è stato il servlet.
La scrittura di applicazioni con le servlet era molto simile alla scrittura di applicazioni CGI in Perl in quello . Tutto l'output doveva essere creato come stringhe all'interno del codice Java.
Questo era molto noioso e soggetto a errori. Inoltre ha reso molto difficile per i web designer senza esperienza di Java modificare l'aspetto delle pagine generate dai servlet.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL1_sml.gif
Poi venne JSP. JSP, come Microsoft ASP e come il popolare linguaggio di scripting PHP, trattano tutto come testo del modello, ma consentono l'inserimento del codice Java nei tag chiamati scriptlet e espressioni JSP.
Ciò consentiva alle persone di lavorare su applicazioni lato server proprio come con gli altri linguaggi di scripting più diffusi, ma presentava un paio di inconvenienti.
- Non c'era separazione di preoccupazioni.
- Uno script contiene codice di database, business logic, codice HTML e qualsiasi codice javascript necessario per il rendering finale della pagina.
- Il riutilizzo del codice era difficile come i test automatici.
Questo è diventato noto come programmazione JSP "Modello 1".
MVC or the Model View Controller pattern era una tecnica comune per separare le varie preoccupazioni nel codice GUI inventato da Trygve Reenskaug, lavorando su Smalltalk per Zerox.
A un certo punto è diventato chiaro che questa tecnica potrebbe essere adattata alle applicazioni Java EE per raggiungere lo stesso livello di separazione.
Per fare ciò è necessario scrivere il livello Model come bean o Plain Old Java Objects (POJO), utilizzando servlet come controller, quindi, una volta eseguito il sollevamento pesante, inoltrare a un JSP per formattare e contrassegnare i risultati.
Le applicazioni servlet/JSP scritte utilizzando e l'architettura MVC sono diventate note come programmazione JSP del modello 2.
alt text http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL2_sml.gif
Poiché questo modello esisteva in una forma diversa prima di essere usati/applicazioni JSP servlet, si è talvolta indicato come "MVC2". Questo nome ha portato ad una certa confusione in quanto implicava che ci fosse un MVC1 per le applicazioni servlet, che non esiste.
Basta dire MVC.
Grazie per dare gooooooood ans, ho soddisfatto il modulo di risposta –
@Ashvin Siete i benvenuti – VonC
@VonC - Non è una buona idea per copiare senza dare un riferimento. Si prega di fornire il riferimento nel tuo post originale. Grazie. –
Una nota storica divertente sui termini ...
[Vorrei poter trovare la carta ... (ho appena provato googling ma senza fortuna!)]
Qualche tempo fa, qualcuno ha scritto un articolo che descrive due approcci MVC per le applicazioni web. In esso, aveva due figure.
Le didascalie erano "modello 1" e "modello 2".
Essi non sono stati intesi come nomi reali di modelli (più come "figura 1" e "Figura 2"), ma qualcuno lo leggono e hanno scritto su di esso come se fosse un nome di modello ...
(qualcuno ha il ref?)
VonC descrive la differenza abbastanza bene
Interessante (+1). Mi limito a copiare e riformattare e articolo javaworld, in realtà. Per quanto riguarda il tuo commento, questa presentazione (http://www.javapassion.com/j2ee/MVCPatternAndFrameworks.pdf) menziona "MVC model 1" e "MVC model 2"! (ma potrebbe trattarsi di un sottoprodotto del tuo documento, e non del documento effettivo a cui ti stai riferendo) – VonC
Arf, in questo "foglio di risposta" (http://csdl.ics.hawaii.edu/~johnson/613s05 /613s05FinalAnswerKey.pdf), MVC Model "1" è orientato verso applicazioni lato client, come ad esempio un'applicazione GUI Swing-based . In questo caso, tutto il codice dell'applicazione esiste in una singola JVM su un singolo client. Il modello MVC "2" è orientato verso un contesto di applicazione Web client-server, in cui l'utente sta inviando richieste HTTP a un server. A differenza del modello 1, l'architettura del modello 2 richiede l'implementazione di un servlet singolo che funge da controller e riceve tutte le richieste dai browser lato client. – VonC
Questa presentazione di diapositive è chiusa, ma richiama il Modello 1/Modello 2 come se fossero termini reali ... "Modello 2" non è davvero un passo evolutivo come si dice; è solo una diversa implementazione della separazione modello/interfaccia utente. –
Una buona spiegazione può essere trovata a –
VolkerK
Credo che questi 2 collegamenti contengano le informazioni reali che stai cercando di scoprire: [Modello1] (http://en.wikipedia.org/wiki/Model_1), [Modello2] (http://en.wikipedia.org/wiki/M odel_2) –