MesBlog

Thinking in sharp architectures
posts - 179, comments - 436, trackbacks - 150

Siamo tutti malati di "frameworkite"?

No l'orchite propriamente detta non c'entra nulla...

Dopo il corso di Janky su NHibernate mi sono buttato a pie' pari nello studio approfondito di quale sia l'approccio migliore (o perlomeno quello che mi piace di più)per inserire l'ORM di cui sopra nelle mie applicazioni.

Non l'avessi mai fatto... per la prima volta ho scandagliato il web alla ricerca di vari spunti, giusto per vedere là fuori come viene trattato NHibernate. Ho cominciato ovviamente da Castle Project (fino all'altro giorno avevo utilizzato ActiveRecord, quindi NHibernate c'era ma non si vedeva), poi Ayende, poi piano piano ho scovato qua e là una miriade di modi diversi di utilizzare il buon vecchio ORM dell'era glaciale.

Sono rimasto allibito... ho scovato le implementazioni più strane (lo stesso Ayende con il suo Rhino.Commons mi ha costretto ad una buona dose di reflector per capire le sue classi statitche, il suo wrapper della UnitOfWork ecc., ecc.), ma soprattutto sono stato colto da un dubbio atroce.

Ma noi sviluppatori siamo tutti affetti da "frameworkite"?

Ho come l'impressione che se non ci inventiamo un framework non ci possiamo sentire in quadratura astrale con l'universo, un sentimento di angoscia atavica ci assale e veniamo presi dalla foga di disegnare pacchetti infarciti di interfacce e classe astratte alla ricerca del sacro graal della perfezione by design.

In fin dei conti per usare NHibernate, nel caso in oggetto, serve solo una factory per la sessione (che indica il nostro contesto di persistenza), che ci serve di più? Si va bene, posso concedere una classe helper, due, scialiamocela, ma che senso ha wrappare, nascondere, polimorfizzare, incapsulare?

Poniamoci la giusta domanda: per cosa utiliziamo un ORM come NHibernate?

La risposta è: per supportare la persistenza di un grafo complesso di entità che rappresenta il modello di dominio.

OK... ma allora stiamo parlando di business, e da che mondo è mondo è estremamente difficile trovare due ambiti di business uguali, soprattutto quando si parla di regole.

E allora mi domando: ma c'è veramente bisogno di tutti questi framework? La domanda in realtà va un po' più in là: non è che davvero esageriamo un po' in generale?
Come se non aver fatto almeno una volta nella vita un framework, diventi quasi una nota di demerito, una macchia nella carriera di uno sviluppatore.

Sviluppare framework ha regole di design ed implementazione molto diverse da quelle di un gestionale, ma forse sono io che, non avendo a che fare quasi mai con fatture, ordini, clienti e compagnia cantante, vedo le cose in una prospettiva un po' diversa.

saluti

Print | posted on venerdì 11 maggio 2007 12:03 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET