ASP.NET Sviluppo applicazioni web e linguaggio HTML LEZIONE 04 Getting Started …
Nov 18, 2014
ASP.NET
Sviluppo applicazioni web e linguaggio HTML
LEZIONE 04
Getting Started …
ASP.NET
Nel 2002/2003
Microsoft porta sul web
l’esperienza
dell’event-driven programming
Nascono le
WebForms
ma è un castello di carte
costruito per rendere
l’http “stateful”
e mascherare il
web da applicazione
desktop
Embrace HTTP and HTML—don't hide it
(Chris Tavares)
Spinto dalla community,
nel 2009 arriva
un aiuto dal passato …
… tutto ebbe inizio nel lontano 1970 con Smalltalk.
Model
Model
Contiene o
rappresenta i
dati applicativi
Model
Renderizza
parte del
modello
sulla UI
Model
Processa le richieste
degli utenti compilando
il modello e scegliendo
la view da renderizzare
MVC Event driven programming vs
and the winner is …
and the winner is …
MVC
Separation
of
concerns (SoC)
… ogni cosa al suo posto.
No ViewState
No Postback
No Page life-cycle
… lasciamo che get e post facciano il loro lavoro.
Maggior
controllo sul
codice generato
… il web è HTML!
Testability
… avanti con lo unit testing!
E’ Open Source!
… posso modificare e compilare il sorgente!
More than this …
… andiamo a vedere
La mia prima
applicazione MVC
Partiamo da una soluzione vuota
Aggiungiamo un progetto ASP.NET MVC 3
Struttura di una applicazione MVC
Struttura di una applicazione MVC
Model s
Struttura di una applicazione MVC
s
Struttura di una applicazione MVC
Controller s
Rispondere
a una richiesta
Convention over
configuration
… se possiamo evitiamo il codice di plumbing.
/Home/About
convention over configuration
/Home/About
convention over configuration
/Home/About
convention over configuration
Partiamo
dal model
Domain Model
Accesso
ai dati
Struttura del database relazionale
Popoliamo il database con dati di test
…
La rappresentazione dei dati
nelle tabelle di un database è
diversa da quella negli oggetti
di un dominio
impedance mismatch
Allora utilizziamo un ORM
( Object - Relation Mapper )
ad esempio Entity Framework
Definisce una mappatura tra
database e dominio in modo
da rendere “trasparente” la
persistenza degli oggetti
Building an MVC 3 App
with Code First and
Entity Framework 4.1 by Julie Lerman
Come configurare l’Entity Framework
• Installare l’Entity Framework da NuGet
• Creare una classe che erediti dal tipo
DbContext
• Impostare una proprietà DbSet<T> per
ogni classe T della quale vogliamo la
persistenza
• Aggiungere nel web.config la stringa
di connessione al database
Convention over
configuration
… se possiamo evitiamo il codice di plumbing.
Accedere ai dati del DbContext
• E questo è il codice per accedere ai
dati salvati nel database:
continua …
Slide 3: http://www.flickr.com/photos/gato-gato-gato/4166319893/in/photostream/
Slide 4: http://www.flickr.com/photos/gibbons/2294375187/in/photostream/
Slide 10: http://www.flickr.com/photos/49379577@N00/2420070827/in/photostream/
Slide 35: http://www.flickr.com/photos/ididj0emama/2276657116/in/photostream/
Credits Le immagini contenute in questa presentazione
hanno licenza Creative Commons
Thank You
MANUEL SCAPOLAN website: www.manuelscapolan.it twitter: manuelscapolan e-mail: [email protected]