Top Banner
ASP.NET Sviluppo applicazioni web e linguaggio HTML LEZIONE 04 Getting Started
45

ASP.NET

Nov 18, 2014

Download

Technology

Manuel Scapolan

Introduzione allo sviluppo di applicazioni web con il pattern mvc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ASP.NET

ASP.NET

Sviluppo applicazioni web e linguaggio HTML

LEZIONE 04

Getting Started …

Page 2: ASP.NET

ASP.NET

Page 3: ASP.NET

Nel 2002/2003

Microsoft porta sul web

l’esperienza

dell’event-driven programming

Nascono le

WebForms

Page 4: ASP.NET

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)

Page 5: ASP.NET

Spinto dalla community,

nel 2009 arriva

un aiuto dal passato …

… tutto ebbe inizio nel lontano 1970 con Smalltalk.

Page 6: ASP.NET

Model

Page 7: ASP.NET

Model

Contiene o

rappresenta i

dati applicativi

Page 8: ASP.NET

Model

Renderizza

parte del

modello

sulla UI

Page 9: ASP.NET

Model

Processa le richieste

degli utenti compilando

il modello e scegliendo

la view da renderizzare

Page 10: ASP.NET

MVC Event driven programming vs

Page 11: ASP.NET

and the winner is …

Page 12: ASP.NET

and the winner is …

MVC

Page 13: ASP.NET

Separation

of

concerns (SoC)

… ogni cosa al suo posto.

Page 14: ASP.NET

No ViewState

No Postback

No Page life-cycle

… lasciamo che get e post facciano il loro lavoro.

Page 15: ASP.NET

Maggior

controllo sul

codice generato

… il web è HTML!

Page 16: ASP.NET

Testability

… avanti con lo unit testing!

Page 17: ASP.NET

E’ Open Source!

… posso modificare e compilare il sorgente!

Page 18: ASP.NET

More than this …

… andiamo a vedere

Page 19: ASP.NET

La mia prima

applicazione MVC

Page 20: ASP.NET

Partiamo da una soluzione vuota

Page 21: ASP.NET

Aggiungiamo un progetto ASP.NET MVC 3

Page 22: ASP.NET

Struttura di una applicazione MVC

Page 23: ASP.NET

Struttura di una applicazione MVC

Model s

Page 24: ASP.NET

Struttura di una applicazione MVC

s

Page 25: ASP.NET

Struttura di una applicazione MVC

Controller s

Page 26: ASP.NET

Rispondere

a una richiesta

Page 27: ASP.NET

Convention over

configuration

… se possiamo evitiamo il codice di plumbing.

Page 28: ASP.NET

/Home/About

convention over configuration

Page 29: ASP.NET

/Home/About

convention over configuration

Page 30: ASP.NET

/Home/About

convention over configuration

Page 31: ASP.NET

Partiamo

dal model

Page 32: ASP.NET

Domain Model

Page 33: ASP.NET

Accesso

ai dati

Page 34: ASP.NET

Struttura del database relazionale

Page 35: ASP.NET

Popoliamo il database con dati di test

Page 36: ASP.NET
Page 37: ASP.NET

La rappresentazione dei dati

nelle tabelle di un database è

diversa da quella negli oggetti

di un dominio

impedance mismatch

Page 38: ASP.NET

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

Page 40: ASP.NET

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

Page 41: ASP.NET

Convention over

configuration

… se possiamo evitiamo il codice di plumbing.

Page 42: ASP.NET

Accedere ai dati del DbContext

• E questo è il codice per accedere ai

dati salvati nel database:

Page 43: ASP.NET

continua …

Page 44: ASP.NET

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

Page 45: ASP.NET

Thank You

MANUEL SCAPOLAN website: www.manuelscapolan.it twitter: manuelscapolan e-mail: [email protected]