Esercitazione su ASP.NET MVC per principianti: che cos'è Architectura

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 ai moduli Web ASP.net per la creazione di applicazioni Web. È una 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, Javascript, 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 ho pensato di sviluppare ASP.net MVC. Il problema principale con i webForm ASP.net sono le prestazioni.

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 sui parametri di cui sopra.

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 aiutanti basati su modelli, aiutanti UL con impalcature automatiche 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 script con convalida jQuery e binding JSON
  • Offre funzionalità come il motore di visualizzazione Razor; attributi migliorati di annotazioni dei dati per la convalida del modello sia sul lato client che sul 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 su .NET 4.5, 4.5.1 e con Visual Studio 2012 e Visual OneASP.NET
  • Supporta il routing degli attributi in MVC

Caratteristiche di MVC

  • Testabilità facile e senza attriti
  • Pieno controllo sul tuo HTML, JavaScript e URL
  • Sfruttamento esistente ASP.Net Caratteristiche
  • Una nuova opzione di presentazione per ASP.Net
  • Un modo più semplice per programmare 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:

  • È necessario ricordare che ASP .net MVC NON sostituisce le applicazioni basate su moduli Web ASP.Net
  • L'approccio allo sviluppo di app MVC deve essere deciso in base ai requisiti dell'applicazione e alle funzionalità fornite da ASP .net MVC per soddisfare le esigenze di sviluppo specifiche.
  • Il processo di sviluppo delle applicazioni con ASP .NET MVC è più complesso rispetto alle applicazioni basate su moduli Web.
  • La manutenibilità dell'applicazione sarà sempre maggiore con la separazione delle attività dell'applicazione.
Modello architettonico MVC
Modello architettonico MVC

MVC è un modello di architettura software che segue il metodo di separazione delle preoccupazioni. In questo modello le applicazioni .Net sono divise in tre parti interconnesse chiamate Model, View 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 visualizzazioni sono i componenti utilizzati per visualizzare l'interfaccia utente (UI) dell'applicazione chiamata anche viewmodel in MVC. Visualizza l'applicazione .Net MVC creata 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 dell'utente, lavorano con il modello e selezionano una vista per renderizzarla Ul. In un'app .Net MVC, la visualizzazione mostra solo le informazioni, 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

parametri WebFroms MVC
Modello I moduli Web Asp.Net seguono il modello di sviluppo basato sugli eventi. Asp.Net MVC utilizza un modello di sviluppo basato su pattern MVC.
Usato da allora In circolazione dal 2002 È stato rilasciato per la prima volta nel 2009
Supporto per lo stato di visualizzazione Il modulo Web Asp.Net supporta lo stato di visualizzazione per la gestione dello stato sul lato client. .Net MVC non supporta lo stato di visualizzazione.
Tipo di URL Il modulo Web Asp.Net dispone di URL basati su file. Significa che il nome del file esiste negli URL e devono esistere fisicamente. Asp.Net MVC dispone di URL basati su route, ovvero URL reindirizzati a controller e azioni.
Sintassi Asp.Net MVC segue la sintassi dei moduli Web. Asp.Net MVC segue la sintassi personalizzabile.
Visualizza tipo Web Form, le visualizzazioni sono strettamente collegate al Code Behind (ASPX-CS), ovvero alla logica. MVC, visualizzazioni e logica vengono sempre mantenuti separatamente.
Aspetto e sensazione coerenti Dispone di pagine master per un aspetto coerente. Asp.Net MVC dispone di layout per un aspetto coerente.
Riutilizzabilità del codice Il modulo Web offre controlli utente per la riutilizzabilità del codice. Asp.Net MVC ha offerto visualizzazioni parziali per la riutilizzabilità 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 TDD!

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 la pagina .aspx.
  • È necessario eseguire il programma ogni volta per vedere il suo 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 grande e complesso per evitare qualsiasi situazione indesiderata o
  • 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 aziendale e l'accesso ai dati non dovrebbero mai verificarsi in ControllerViewData
  • 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 quando lo crei 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.

Sommario

  • ASP.NET MVC è un framework di sviluppo Web open source di Microsoft che fornisce a Architettura del Model View Controller.
  • ASP.net MVC offre un'alternativa ai moduli Web ASP.net per la creazione di applicazioni Web.
  • Il problema principale con i webForm ASP.net sono le prestazioni.
  • ASP.net MVC offre testabilità semplice e senza attriti con il controllo completo su HTML e URL.
  • È necessario ricordare che ASP .net MVC NON sostituisce le applicazioni basate su moduli Web ASP.Net.
  • L'approccio allo sviluppo di app MVC o al ciclo di vita ASP.NET MVC deve essere deciso in base ai requisiti e alle funzionalità dell'applicazione forniti da ASP .net MVC per soddisfare le esigenze di sviluppo specifiche.
  • ASP.NET MVC offre applicazioni altamente gestibili per impostazione predefinita.
  • Con ASP.net non puoi visualizzare l'anteprima della pagina di progettazione come la pagina .aspx.
  • Come best practice, il modello dovrebbe includere la logica aziendale, la manutenzione della sessione, la parte di convalida e la parte di logica dei dati.