Supponiamo di avere una applicazione che abbia tre colonne, in una ho un elenco di regioni, se clicco su una regione nella seconda colonna ho un elenco di province e cliccando su una provincia ho l'elenco dei comuni di quella provincia.
Ovviamente regioni, province e comuni sono tutti nel loro bel database.
Ci sono tre strade:
La piu' ovvia è quella di fare tre pagine dinamiche che interrogano il db e chiedono di volta in volta l'elenco delle regioni, province e comuni in base ad un parametro di ingresso.
pro:
- è semplice e naturale
- permette di cambiare facilmente il template grafico
- è veloce da scrivere e da manutenere
contro:
- troppe interrogazioni al db per avere sempre gli stessi risultati
la seconda invece fa si che le pagine dei comuni e delle province siano tutte precalcolate. In genere questa è la fase successiva alla precedente, data la pagina che genera dinamicamente le province, mi creo le 100 e passa pagine statiche, una per provincia. Analogamente per i comuni.
pro:
- non interrogo il db
- la pagina viene restituita piu' velocemente
- non ho parametri nelle pagine (riduco la possibilità di fare sql injection)
contro:
- se uso dei template grafici che che cambiano spesso, questa soluzione non va bene
l'ultima strada è intermedia ed è valida quando il livello di presentazione del nostro sito è variabile e quindi non posso precalcolarmi la pagina. In pratica per non interrogare il db posso precalcolarmi l'elenco di comuni e province ad esempio sotto forma di files xml o binari (dipende un po' dall'algoritmo che voglio usare) e poi deserializzarli per applicarli al livello di presentazione.
pro:
- non interrogo il db
- posso continuare ad utilizzare il template engine
contro:
- non è performante come la soluzione precedente
web
code
snippets
| inviato da
alessioricco il 17/10/2007 alle 17:49 | |