Esercitazione su ASP.NET MVC per principianti: che cos'è Architectura
⚡ Riepilogo intelligente
ASP.NET MVC è open source Microsoft Framework che suddivide un'applicazione web in livelli Model, View e Controller, offrendo agli sviluppatori il pieno controllo su HTML, codice testabile, routing pulito e un'alternativa leggera ai classici Web Forms.
Che cos'è ASP.NET MVC?
ASP.NET MVC è un framework di sviluppo web open source di Microsoft che fornisce un'architettura Model View Controller. ASP.NET MVC offre un'alternativa ad ASP.NET Web Forms per la creazione di applicazioni web. Fa parte della piattaforma .NET per la creazione, la distribuzione e l'esecuzione di app web. È possibile sviluppare app web e siti Web con l'aiuto di HTML, CSS, jQuery, JavaSceneggiatura, ecc.
Impara MVC con questo tutorial ASP.NET MVC che copre tutti i concetti di base di MVC per principianti:
Perché ASP.NET MVC?
Sebbene i moduli web abbiano avuto molto successo, Microsoft pensiero di sviluppareping ASP.NET MVC. Il problema principale di ASP.NET Web Forms è la performance.
In un web application, ci sono quattro aspetti principali che definiscono le prestazioni: -
- Problemi relativi ai tempi di risposta
- Problema del test unitario
- Personalizzazione HTML
- Riutilizzabilità della classe code-behind
ASP.NET MVC eccelle nei parametri sopra indicati.
Cronologia delle versioni di MVC
ASP.NET MVC1
- Pubblicato il 13 marzo 2009
- Funziona su .NET 3.5
- Visual Studio 2008
- Architettura del modello MVC con WebForm Engine
- Le caratteristiche principali includono HTML e Test unitari, Helper Ajax, Routing, ecc.
ASP.NET MVC2
- Questa versione è stata rilasciata il 10 marzo 2010
- Funziona su .NET 3.5, 4.0 e con Microsoft Visual Studio 2008
- Includi funzionalità come helper basati su modelli, helper UI con scaffolding automatico e modelli personalizzabili
- Supporta gli attributi DataAnnotations per applicare la convalida del modello sui lati client e server
ASP.NET MVC3
- È stato rilasciato il 13 gennaio 2011
- Funziona su .NET 4.0 e con Microsoft Di Visual Studio 2010
- Utilizzo di nuGet per fornire software e consente di gestire le dipendenze sulla piattaforma
- Meglio JavaSupporto per script con convalida jQuery e binding JSON
- Offre funzionalità come il motore di visualizzazione Razor e attributi Data Annotations avanzati per la convalida del modello sia lato client che lato server.
ASP.NET MVC4
- Questa versione è stata rilasciata nell'agosto 2012
- Funziona su .NET 4.0, 4.5 e con Visual Studio 2010 e Visual Studio 2012
- Miglioramenti ai modelli di progetto predefiniti
- Offre funzionalità come modelli di progetti mobili che utilizzano jQuery Mobile, supporto delle attività per controller asincroni, raggruppamento, minimizzazione, ecc.
ASP.NET MVC5
- Rilasciato il 17 ottobre 2013
- Funziona con .NET 4.5, 4.5.1 e con Visual Studio 2012 e Visual Studio 2013.
- Supporta il routing degli attributi in MVC
Caratteristiche di MVC
- Testabilità facile e senza attriti
- Pieno controllo sul tuo HTML, JavaSceneggiatura e URLs
- Sfruttamento esistente ASP.NET Caratteristiche
- Una nuova opzione di presentazione per ASP.NET
- Un modo più semplice per programmare in ASP.NET
- Chiara separazione della logica: Modello, Vista, Controller
- Sviluppo guidato dai test
- Supporto per lo sviluppo parallelo
Cose da ricordare durante la creazione dell'applicazione MVC
Ecco alcune cose utili in questo tutorial ASP.NET MVC che devi ricordare per creare un'applicazione MVC:
- È importante ricordare che ASP.NET MVC NON sostituisce le applicazioni basate su ASP.NET Web Forms.
- L'approccio allo sviluppo di applicazioni MVC deve essere deciso in base ai requisiti dell'applicazione e alle funzionalità offerte da ASP.NET MVC, al fine di soddisfare le specifiche esigenze di sviluppo.
- Il processo di sviluppo di applicazioni con ASP.NET MVC è più complesso rispetto alle applicazioni basate su Web Forms.
- La manutenibilità dell'applicazione sarà sempre maggiore con la separazione delle attività dell'applicazione.
Modello architettonico MVC
MVC è un modello di architettura software che segue il principio di separazione delle responsabilità. In questo modello, le applicazioni .NET sono suddivise in tre parti interconnesse chiamate Modello, Vista e Controller.
L'obiettivo del modello MVC è che ciascuna di queste parti possa essere sviluppata, testata in relativo isolamento e anche combinata per creare un'applicazione molto robusta.
Vediamoli tutti nel dettaglio:
Modelli
Gli oggetti del modello sono parti dell'applicazione che implementano la logica dell'applicazione dominio dei dati. Recupera e archivia lo stato del modello in un database. Ad esempio, l'oggetto prodotto potrebbe recuperare informazioni da a banca dati, operare su di esso. Quindi riscrivere le informazioni nella tabella dei prodotti nel server SQL.
Visualizzazioni
Le viste sono i componenti utilizzati per visualizzare l'interfaccia utente (UI) dell'applicazione, detta anche viewmodel in MVC. Visualizzano l'applicazione .NET MVC creata a partire dai dati del modello.
L'esempio comune sarebbe una vista di modifica di una tabella Item. Mostra caselle di testo, pop-up e caselle di controllo in base allo stato corrente di prodotti e oggetti.
Controller
I controller gestiscono l'interazione con l'utente, lavorano con il modello e selezionano una vista da visualizzare per l'interfaccia utente. In un'applicazione .NET MVC, la vista si limita a visualizzare le informazioni, mentre il controller gestisce e risponde all'input e all'interazione dell'utente utilizzando i filtri di azione in MVC.
Ad esempio, il controller gestisce i valori della stringa di query e li passa al modello.
Moduli Web e MVC
| Scheda Sintetica | WebForm | MVC |
|---|---|---|
| Modello | ASP.NET Web Forms segue un modello di sviluppo basato sugli eventi. | ASP.NET MVC utilizza un modello di sviluppo basato sul pattern MVC. |
| Usato da allora | In circolazione dal 2002 | È stato rilasciato per la prima volta nel 2009 |
| Supporto per lo stato di visualizzazione | ASP.NET Web Form supporta lo stato di visualizzazione per la gestione dello stato lato client. | .NET MVC non supporta lo stato di visualizzazione. |
| URL Digitare | ASP.NET Web Form ha un'interfaccia basata su file URLs. Significa che il nome del file esiste nel URLe devono esistere fisicamente. | ASP.NET MVC ha un percorso basato su URLciò significa URLche vengono reindirizzati a controller e azioni. |
| Sintassi | I moduli Web ASP.NET seguono la sintassi dei moduli Web. | ASP.NET MVC segue una sintassi personalizzabile. |
| Visualizza tipo | Modulo Web, le viste sono strettamente collegate a Code dietro (ASPX-CS), cioè la logica. | MVC, visualizzazioni e logica vengono sempre mantenuti separatamente. |
| Aspetto e sensazione coerenti | Dispone di pagine master per un aspetto coerente. | ASP.NET MVC offre layout per un aspetto coerente. |
| Code riutilizzabilità | Il modulo Web offre controlli utente per la riutilizzabilità del codice. | ASP.NET MVC ha offerto viste parziali per il riutilizzo del codice. |
| Controllo per HTML | Less controllo sull'HTML renderizzato. | Controllo completo sull'HTML |
| gestione dello stato | Gestione automatica dello stato dei controlli. | Gestione manuale dello stato. |
| Supporto TDD | È richiesto un TDD debole o personalizzato. | Incoraggia e include il TDD (Test-Driven Development). |
Vantaggi di ASP.NET MVC
- Applicazioni altamente gestibili per impostazione predefinita
- Ti consente di sostituire qualsiasi componente dell'applicazione.
- Migliore supporto per lo sviluppo basato sui test
- Le applicazioni complesse sono facili da gestire grazie alle divisioni in Modello, Vista e Controller.
- Offre un robusto meccanismo di routing con pattern del controller anteriore
- Offre un migliore controllo sul comportamento dell'applicazione con l'eliminazione dello stato di visualizzazione e dei moduli basati su server
- Le applicazioni .NET MVC sono supportate da grandi team di sviluppatori e web designer.
- Offre un maggiore controllo sui comportamenti dell'applicazione. Utilizza inoltre una larghezza di banda ottimizzata per le richieste effettuate al server
Svantaggi di ASP.NET MVC
- Non è possibile visualizzare l'anteprima della pagina di progettazione come nella pagina .aspx.
- È necessario eseguire il programma ogni volta per visualizzarne il design effettivo.
- Comprendere il flusso dell'applicazione può essere difficile
- È piuttosto complicato da implementare, quindi non è un'opzione ideale per applicazioni di piccolo livello
- È difficile imparare MVC per ASP.NET, poiché richiede una conoscenza approfondita del pattern MVC
migliori pratiche durante l'utilizzo di ASP.NET MVC
- Creare un assembly separato per MODEL in caso di codice ampio e complesso per evitare situazioni indesiderate
- Il modello dovrebbe includere la logica aziendale, la manutenzione della sessione, la parte di convalida e la parte di logica dei dati.
- VIEW non deve contenere alcuna logica aziendale e manutenzione della sessione, utilizzare ViewData per accedere ai dati in View
- La logica di business e l'accesso ai dati non dovrebbero mai avvenire nel Controller
- Il controller dovrebbe essere responsabile solo della preparazione e della restituzione di una vista, della chiamata del modello, del reindirizzamento all'azione, ecc.
- Elimina il codice demo dall'applicazione al momento della sua creazione (Elimina AccountController)
- Utilizza solo un motore di visualizzazione specifico per creare markup HTML dalla tua vista poiché è la combinazione di HTML e codice di programmazione.


