[PDC2005] Why dLinq isn't

Nel mare di feedback trionfali, una voce fuori campo: a me dLinq *non* sembra una soluzione ragionevole. dLinq accoppia il Domain Model allo schema fisico dei dati, e questo è Male. Secondo "lui", una classe==Una tabella. Una proprietà==Una colonna. Il tipo della colonna *è* il tipo della proprietà, e anche questo è Male. Il mondo reale non funziona così. Un esempio? Database Northwind (lo abbiamo tutti), tabella Employees, colonna ReportsTo. E' di tipo int, è nullable e, dove specificato, indica il codice dell'impiegato che ci coordina. In un domain model "Real World", la classe Employee *non* ha una proprietà ReportsTo di tipo (nullable?) int, bensì una proprietà Manager di tipo Employee. E vi dirò di più: la proprietà assumerà il valore dello special case MissingEmployee (uno special case, insomma), ove non esista un manager associato all'impiegato. E si potrebbe continuare... Ma finiremmo per avere nostalgia di NHibernate o anche solo delle alpha di ObjectSpaces. Intendiamoci: Linq *è* una figata. Per quanto sia solo "compiler magic", basato sugli extension methods e gli anonymous types di C# 3.0, l'effetto funzionale è notevole. xLinq mi sembra assolutamente ragionevole. dLinq, invece... "non è". Per uno sviluppatore, dLinq apparirà probabilmente come una Terra Promessa, ma chiedetemi un parere da architetto, e la mia opinione sarà: "Occasione mancata". Questione di punti di vista.

posted @ giovedì 15 settembre 2005 22:18

Print

Comments on this entry:

# re: [PDC2005] Why dLinq isn't

Left by Lorenzo Barbieri at 16/09/2005 01:00
Gravatar
Non ho visto molto ancora su dlink, da Catania via umts/gprs non è facilissimo, ma concordo con quello che hai scritto.
Naturalmente voglio approfondire meglio il discorso ;-)

# PDC 2005: DLinq e relational data

Left by Corrado's BLogs at 16/09/2005 04:02
Gravatar

# [Solid Quality ASP.NET] Linq e build provider

Left by Dino Esposito at 20/09/2005 18:51
Gravatar

# Linq

Left by Mighell's Blog at 12/11/2005 21:18
Gravatar

Your comment:



 (will not be displayed)


 
 
 
Please add 2 and 6 and type the answer here:
 

Live Comment Preview:

 
«dicembre»
domlunmarmergiovensab
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234