Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Info Partenza Arrivo Treni Durata Acquista<br />
1.<br />
2.<br />
3.<br />
4.<br />
5.<br />
17:14<br />
MESTRE<br />
17:21<br />
MESTRE<br />
17:29<br />
MESTRE<br />
17:34<br />
MESTRE<br />
17:43<br />
MESTRE<br />
17:34<br />
17:41<br />
17:49<br />
17:54<br />
18:04<br />
Figura 3.10. Tabella visualizzata dal browser.<br />
Carnielli Efrem: Programmazione a componenti<br />
00:20<br />
00:20<br />
00:20<br />
00:20<br />
00:21<br />
Pr<strong>in</strong>cipi <strong>di</strong> progettazione<br />
Dall'applicazione io chiedo solo <strong>in</strong>formazioni sui treni, tuttavia mi vengono <strong>in</strong>viate<br />
tutte le <strong>in</strong>formazioni <strong>di</strong> contorno: colore, layout, ect.<br />
Ho un notevole spreco, sarebbe più efficiente spe<strong>di</strong>re tutte le <strong>in</strong>formazioni richieste<br />
con la sola aggiunta <strong>di</strong> metadati per <strong>di</strong>st<strong>in</strong>guere una riga da una altra, lasciando<br />
che sia il client a ricostruire la struttura, <strong>in</strong>viando anche una funzione con la quale<br />
il client si possa ricostruire il layout.<br />
A questo punto apriamo una piccola parentesi sul significato <strong>di</strong> <strong>in</strong>tensione ed<br />
estensione. Pren<strong>di</strong>amo il concetto <strong>di</strong> funzione quadratica <strong>in</strong> aritmetica. Questa può<br />
essere rappresentate <strong>in</strong> maniera estensionale tramite l'<strong>in</strong>sieme <strong>di</strong> coppie che<br />
rappresentano l'elevamento al quadrato: {(0,0),(1,1),(2,4),(3,9),(4,16),(5,25),(6,36),...};<br />
oppure può essere rappresentato <strong>in</strong> maniera <strong>in</strong>tensionale tramite la def<strong>in</strong>izione<br />
della funzione: f: N -> N, f(x)=x 2 .<br />
Detto questo <strong>di</strong>ciamo che <strong>in</strong>vece che mandare tutta la tabella, il web server <strong>in</strong>via<br />
solo i dati strettamente richiesti, e, seguendo il concetto <strong>di</strong> <strong>in</strong>tensionalità, <strong>in</strong>vio la<br />
funzione che mi <strong>di</strong>ce come devono essere visualizzati tali dati. Naturalmente nel<br />
client devo avere qualcosa che capisca la funzione; nel browser ad esempio avrei<br />
bisogno <strong>di</strong> Javascript, cioè un motore computazionale per calcolare la funzione.<br />
Questo metodo viene def<strong>in</strong>ito come stream, perchè è la def<strong>in</strong>izione <strong>di</strong> qualcosa che<br />
68