15.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!