MesBlog

Thinking in sharp architectures
posts - 160, comments - 518, trackbacks - 40

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

Feedback

Gravatar

# re: Siamo tutti malati di "frameworkite"?

Sono perfettamente d'accordo con te
11/05/2007 10.11 | Rudy
Gravatar

# re: Siamo tutti malati di "frameworkite"?

Quoto al 100%
11/05/2007 10.16 | Luca
Gravatar

# Re: Siamo tutti malati di "frameworkite"?

beh, come mi hai detto tu, un framework alla fin fine serve per un miliardo di cose, tra le quali compaiono voci come "farti risparmiare linee di codice", "darti funzioni di più alto livello" e via dicendo. Me lo hai ricordato quando, cercando di far venir fuori la clessidra su un WM5.0, mi hai detto: "Installa Smart Device Framework". E io mi sono rifiutato. :-)))
11/05/2007 11.48 | Igor Damiani
Gravatar

# Re: Siamo tutti malati di "frameworkite"?

Igor forse non hai colto il senso del post...
il problema non è nei framework, i framework servono eccome, come appunto ti ho detto l'altra volta.
il problema sta nel voler fare a tutti i costi un framework anche dove non serve, ed anzi potrebbe pure essere dannoso.
in uno scenario di business a mio avviso ci devono essere davvero ottime ragioni per fare un framework.
saluti
11/05/2007 11.59 | Roberto Messora
Gravatar

# re: Siamo tutti malati di "frameworkite"?

> Ma noi sviluppatori siamo tutti affetti da "frameworkite"?

è come se un pittore spendesse il 90% del suo tempo a costruire tavolozze e trepiedi e solo il 10% a pitturare.

appare insensato ... eppure noi dev abbiamo questo vizio, conuna aggravante: più il pittore non sa dipingere più tempo impiega in tavolozze e trepiedi e ancora meno a dipingere e imparare a farlo!





11/05/2007 12.13 | Luca Minudel
Gravatar

# Re: Siamo tutti malati di "frameworkite"?

Luca:
un'ottimo parallelo, rende molto bene l'idea
saluti
11/05/2007 12.16 | Roberto Messora
Gravatar

# re: Siamo tutti malati di "frameworkite"?

Concordo con quanto dici, però vorrei portare una possibile spiegazione a questa "mania". I framework nel 99% dei casi semplificano la vita davvero solo a chi li ha pensati/sviluppati, nel senso che non ho mai visto un framework che sia contemporaneamente versatile e facile da apprendere. Spesso poi i framework finiscono con l'appensantire le applicazioni... A questo punto uno sviluppatore può anche chiedersi: per quale arcana ragione devo: rompermi le scatole per imparare qualcosa che forse mi creerà + disagi che vantaggi? A quel punto ci si butta e si fa qualcosa di "personalizzato". Un framework deve semplificare le cose (soprattutto dal punto di vista astratto, se poi invece si scrivono 3 righe di codice in +, imho, non è un problema), rendere più veloce lo sviluppo dell'applicazione.
11/05/2007 12.38 | Massimo F.
Comments have been closed on this topic.

Powered by: