C# e IDisposable

Due dei costrutti piú interessanti ed eleganti del C# sono il lock e lo using, che funzionano in maniera pressocché simile. La feature piú comoda di tali istruzioni é la gestione automatica di quello che avviene implicitamente all'uscita del blocco di codice (e quindi anche in presenza di un eccezione). Nel caso del lock viene chiamato Monitor.Exit, nel caso di using viene chiamato IDisposable.Dispose. Giorni fa, proprio tale "automatismo" mi ha dato un'idea abbastanza simpatica e cioé quella di estendere il concetto di "rilasciare" contenuto nell'interfaccia IDisposable in senso lato. Si potrebbe ad esempio "rilasciare" un oggetto costoso in un pool. Ed é cosí che mi sono "inventato" (*) questo pattern. Siano:

MyClass un oggetto "costoso"
MyClassProxy un proxy all'oggetto "costoso" che implementa IDisposable
MyClassProxyPool un pool di MyClassProxy

Il pezzo di codice che "usa" MyClass e fa uso del pool diventa:

using(MyClassProxy proxy = MyClassProxyPool.GetAProxy())
{
MyClass realClass = proxy.RealObject;
realClass.DoSomething();
...

}

All'uscita del blocco (per un motivo o per un altro) verrá invocato proxy.Dispose(). A questo punto basta fare in modo che tale chiamata restituisca il proxy nel pool ed il gioco é fatto.

I  C#!!

-quack

(*) in realtá qualcuno direbbe che i pattern non si inventano ma si scoprono!

Pubblicato martedì 25 aprile 2006 alle 2:10 AM - 1 commento so far
Archiviato in: Codice, Software

A mente fresca (piú un piccolo appunto sulla sfiga)

Quando ero studente e mi capitava di non riuscire a risolvere un problema (e si faceva sera sui libri di matematica) mia madre mi diceva: "vai a letto, domani mattina ti svegli presto (NdR, l'opzione "vai a scuola senza fare l'esercizio neanche esisteva) e a mente fresca vedrai che ci riuscirai". :-)

-quack

per l'appunto: qualcuno avrá notato che il contenuto di questo blog é tornato indietro nel tempo. Il motivo é stato la rottura contemporanea di due drive in RAID su cui gira questo server. Quante sono le probabilitá che questo avvenga? Immagino scarse...

Pubblicato sabato 22 aprile 2006 alle 2:55 PM - 1 commento so far
Archiviato in: Cazzate, Aneddoti

Il Vangelo secondo Murphy

Nel capitolo 3 verso 14 c'é scritto:

Se qualcosa puó andare male, lo fará (di converso se qualcosa non puó andar male, lo fará lo stesso).

Anche le leggi della natura obbediscono al Vangelo di Murphy. Uno dei corollari derivanti ha a che fare con la teoria della relativitá applicata ai corpi immobili. Cosa vuol dire? Semplice: la teoria della relativitá ristretta prevede la dilatazione delle lunghezze per velocitá prossime a quella della luce. Applicarla ai corpi immobili non avrebbe nessun senso, ma qui scatta il corollario:

Se la cucina é disegnata con precisione millimetrica, al momento dell'installazione tutti i mobili si espanderanno e lo spazio millimetricamente destinato agli elettrodomestici non sará piú sufficiente.

Credo che Murphy abbia preso a piene mani dalle storie Disneyane di Paperino.

-quack

PS. per fortuna le dimensioni le ha prese l'installatore stesso... oh my Dog!

Pubblicato giovedì 20 aprile 2006 alle 2:37 PM - 0 commenti so far
Archiviato in: Cazzate

Sul senso civico

Una delle cose che assolutamente non rimpiango del mio paese d'origine, é quel fine senso civico che alcuni miei (ex?) compaesani sanno dimostrare. Sono incredulo ed esterrefatto nell'apprendere la notizia attraverso il blog di Beppe Grillo. :

Pubblicato mercoledì 19 aprile 2006 alle 2:41 PM - 0 commenti so far
Archiviato in: Aneddoti

Buona Pasqua 2006

Con questo post voglio fare gli auguri di Buona Pasqua a chi ci crede e a chi no (come me; in tal caso l'augurio é di passare una domenica speciale, magari un po' piú rilassata del solito).

In particolare i miei auguri vanno alla formichina, ad Ale (che ha trovato questa immagine stupenda), a Claudio e PG, a Stefano, a Donato, a Mario & Nat, a Betto ed Elisa, agli amici Italiani qui nello sperduto Northwest (tanti per ricordarli tutti), agli amici Italiani rimasti in Italia, ai parenti e conoscenti tutti.

P.S. Spero che l'immagine qui sotto non offenda la sensibilitá di nessuno (é un blog di cazzate, mi si perdoni la leggerezza); da buoni Cristiani immagino facciamo della tolleranza un valore fondamentale

-quack

Pubblicato lunedì 17 aprile 2006 alle 3:43 AM - 1 commento so far
Archiviato in: Cazzate