際際滷

際際滷Share a Scribd company logo
Sviluppo applicazioni web e linguaggio HTML

                             LEZIONE 04




ASP.NET
Getting Started
ASP.NET
Nel 2002/2003
      Microsoft porta sul web
                    lesperienza
dellevent-driven programming

                    Nascono le
               WebForms
ma 竪 un castello di carte
   costruito per rendere
         lhttp stateful
         e mascherare il
  web da applicazione
                 desktop




         Embrace HTTP and HTMLdon't hide it
                             (Chris Tavares)
Spinto dalla community,
nel 2009 arriva
un aiuto dal passato 




       tutto ebbe inizio nel lontano 1970 con Smalltalk.
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




   Model
Event driven
programming     vs   MVC
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
Model s



Struttura di una applicazione MVC
s



Struttura di una applicazione MVC
Controller s




Struttura di una applicazione MVC
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
ASP.NET
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 )

                   Definisce una mappatura tra
                   database e dominio in modo
                    da rendere trasparente la
                        persistenza degli oggetti




                  ad esempio Entity Framework
Building an MVC 3 App
with Code First and
Entity Framework 4.1
by Julie Lerman
 Installare lEntity 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



    Come configurare lEntity Framework
Convention
over
configuration


        se possiamo evitiamo il codice di plumbing.
 E questo 竪 il codice per accedere ai
  dati salvati nel database:




         Accedere ai dati del DbContext
continua
Credits
Le immagini contenute in questa presentazione
hanno licenza Creative Commons


際際滷 3: http://www.flickr.com/photos/gato-gato-gato/4166319893/in/photostream/
際際滷 4: http://www.flickr.com/photos/gibbons/2294375187/in/photostream/
際際滷 10: http://www.flickr.com/photos/49379577@N00/2420070827/in/photostream/
際際滷 35: http://www.flickr.com/photos/ididj0emama/2276657116/in/photostream/
Thank You   MANUEL SCAPOLAN
            website: www.manuelscapolan.it
            twitter: manuelscapolan
            e-mail: info@manuelscapolan.it

More Related Content

Similar to ASP.NET (20)

Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
DotNetCampus
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVC
Alessandro Forte
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
NaLUG
Applicazioni web con Asp.Net MVC 6
Applicazioni web con Asp.Net MVC 6Applicazioni web con Asp.Net MVC 6
Applicazioni web con Asp.Net MVC 6
Michele Aponte
MVVM senza fronzoli con Caliburn.Micro
MVVM senza fronzoli con Caliburn.MicroMVVM senza fronzoli con Caliburn.Micro
MVVM senza fronzoli con Caliburn.Micro
Marco Amendola
Knockout.js
Knockout.jsKnockout.js
Knockout.js
Manuel Scapolan
Wcf data services
Wcf data servicesWcf data services
Wcf data services
Salvatore Sorrentino
MVC and Struts 1
MVC and Struts 1MVC and Struts 1
MVC and Struts 1
Tarin Gamberini
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
Giampiero Granatella
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide Sito
Davide Sito
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
Alessandro Del Sole
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
Andrea Agnoletto
Novit di Asp.Net 4.0
Novit di Asp.Net 4.0Novit di Asp.Net 4.0
Novit di Asp.Net 4.0
Gian Maria Ricci
ASP.NET MVC Intro
ASP.NET MVC IntroASP.NET MVC Intro
ASP.NET MVC Intro
Manuel Scapolan
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8
DotNetCampus
Applicazioni web based
Applicazioni web basedApplicazioni web based
Applicazioni web based
Marco Liverani
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
DotNetMarche
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian
Fe02 ria con breeze e knockout
Fe02   ria con breeze e knockoutFe02   ria con breeze e knockout
Fe02 ria con breeze e knockout
DotNetCampus
Hands on MVC - Mastering the Web
Hands on MVC - Mastering the WebHands on MVC - Mastering the Web
Hands on MVC - Mastering the Web
Claudio Gandelli
Alessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVCAlessandro Forte - MVP vs MVC
Alessandro Forte - MVP vs MVC
Alessandro Forte
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
NaLUG
Applicazioni web con Asp.Net MVC 6
Applicazioni web con Asp.Net MVC 6Applicazioni web con Asp.Net MVC 6
Applicazioni web con Asp.Net MVC 6
Michele Aponte
MVVM senza fronzoli con Caliburn.Micro
MVVM senza fronzoli con Caliburn.MicroMVVM senza fronzoli con Caliburn.Micro
MVVM senza fronzoli con Caliburn.Micro
Marco Amendola
Progetto SOD Davide Sito
Progetto SOD Davide SitoProgetto SOD Davide Sito
Progetto SOD Davide Sito
Davide Sito
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
Alessandro Del Sole
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
Andrea Agnoletto
Win05 accesso ai dati in win 8
Win05   accesso ai dati in win 8Win05   accesso ai dati in win 8
Win05 accesso ai dati in win 8
DotNetCampus
Applicazioni web based
Applicazioni web basedApplicazioni web based
Applicazioni web based
Marco Liverani
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
DotNetMarche
Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3Sistemi Context-aware: Esercitazione 3
Sistemi Context-aware: Esercitazione 3
Marco Loregian

More from Manuel Scapolan (16)

TFS and Scrum - Lessons Learned
TFS and Scrum - Lessons LearnedTFS and Scrum - Lessons Learned
TFS and Scrum - Lessons Learned
Manuel Scapolan
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
Manuel Scapolan
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
Manuel Scapolan
NOSQL
NOSQLNOSQL
NOSQL
Manuel Scapolan
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
Manuel Scapolan
ASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella View
Manuel Scapolan
JavaScript Object Oriented
JavaScript Object OrientedJavaScript Object Oriented
JavaScript Object Oriented
Manuel Scapolan
JavaScript
JavaScriptJavaScript
JavaScript
Manuel Scapolan
HTML e CSS
HTML e CSSHTML e CSS
HTML e CSS
Manuel Scapolan
Tutte le novit di ASP.NET MVC3
Tutte le novit di ASP.NET MVC3Tutte le novit di ASP.NET MVC3
Tutte le novit di ASP.NET MVC3
Manuel Scapolan
Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)
Manuel Scapolan
Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Dai delegati a LINQ con C#
Dai delegati a LINQ con C#
Manuel Scapolan
C# e la Framework Class Library
C# e la Framework Class LibraryC# e la Framework Class Library
C# e la Framework Class Library
Manuel Scapolan
AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatore
Manuel Scapolan
OOP with C#
OOP with C#OOP with C#
OOP with C#
Manuel Scapolan
Entity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernateEntity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernate
Manuel Scapolan
TFS and Scrum - Lessons Learned
TFS and Scrum - Lessons LearnedTFS and Scrum - Lessons Learned
TFS and Scrum - Lessons Learned
Manuel Scapolan
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
Manuel Scapolan
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
Manuel Scapolan
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
Manuel Scapolan
ASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella ViewASP.NET MVC 3 - Presentare i dati nella View
ASP.NET MVC 3 - Presentare i dati nella View
Manuel Scapolan
JavaScript Object Oriented
JavaScript Object OrientedJavaScript Object Oriented
JavaScript Object Oriented
Manuel Scapolan
Tutte le novit di ASP.NET MVC3
Tutte le novit di ASP.NET MVC3Tutte le novit di ASP.NET MVC3
Tutte le novit di ASP.NET MVC3
Manuel Scapolan
Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)
Managed Extensibility Framework (MEF)
Manuel Scapolan
Dai delegati a LINQ con C#
Dai delegati a LINQ con C#Dai delegati a LINQ con C#
Dai delegati a LINQ con C#
Manuel Scapolan
C# e la Framework Class Library
C# e la Framework Class LibraryC# e la Framework Class Library
C# e la Framework Class Library
Manuel Scapolan
AntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatoreAntiPatterns: i vizi del programmatore
AntiPatterns: i vizi del programmatore
Manuel Scapolan
Entity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernateEntity Framework 4.0 vs NHibernate
Entity Framework 4.0 vs NHibernate
Manuel Scapolan

ASP.NET