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.
Carnielli Efrem: Programmazione a componenti<br />
Pr<strong>in</strong>cipi <strong>di</strong> progettazione<br />
<strong>in</strong>izializzati, e sarà questo che si occuperà <strong>di</strong> riempirli appropriatamente.<br />
Sia A* un'istanza generica della classe A, essa oltre a quanto visto <strong>in</strong> precedenza ha<br />
un riferimento al clonatore per ricordarsi del d statico.<br />
L'esecuzione della funzione f come già vista porta alla creazione <strong>di</strong> un active<br />
record, nel quale si noti l'importanza <strong>di</strong> mantenere un puntatore ad A* per<br />
mantenere l'ambiente.<br />
3.1.2.2 Attributi statici e migrazione delle computazioni<br />
Gli attributi statici appena visti mi portano a pensare agli attributi statici dei server.<br />
DB access<br />
Mi dai la<br />
connessione ?<br />
Figura 3.6. Utilizzo <strong>di</strong> attributi statici per la connessione<br />
si<br />
A<br />
thread<br />
B<br />
connessione<br />
I thread sono istanze <strong>di</strong> classi. (figura 3.6).<br />
Per concedere la connessione richiesta dal DBA posso <strong>in</strong>serire nelle classi A,B,C un<br />
metodo d che gestisce la connessione. Posso farlo d<strong>in</strong>amicamente passandogli<br />
l'<strong>in</strong><strong>di</strong>rizzo <strong>di</strong> d.<br />
Alternativamente potrei mettere d come metodo statico, metodo che va <strong>in</strong><br />
esecuzione <strong>in</strong> un ambiente globale, (come visto quando abbiamo parlato <strong>di</strong><br />
attributi statici), accessibile a tutte le istanze della stessa classe. Avrei<br />
D.getConnection(). Il DBA sfrutta l'attributo statico <strong>di</strong> Java.<br />
Il getConnection statico può gestire solo connessioni statiche.<br />
Con riferimento alla figura 3.7, supponiamo <strong>di</strong> avere un browser che <strong>in</strong>via richieste<br />
ad un sistema, se una macch<strong>in</strong>a <strong>di</strong> questo sistema dovesse rompersi (fail over), tutte<br />
le computazioni <strong>in</strong> esecuzione possono essere migrate sulle altre macch<strong>in</strong>e.<br />
Se <strong>in</strong>vece sfrutto gli attributi statici ho un ambiente <strong>in</strong> cui non posso migrare le<br />
DB<br />
C<br />
57