[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 19.18

Print

Comments on this entry:

# re: [PDC2005] Why dLinq isn't

Left by Lorenzo Barbieri at 15/09/2005 22.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 ;-)

# re: [PDC2005] Why dLinq isn't

Left by Fabio Santini at 15/09/2005 22.53
Gravatar
Per come la penso io ci sono tanti tipi di applicazione per tanti utenti diversi. Un modello completamente OO è semplice da gestire e da incapsulare ma se poi deve essere serializzato su dabatase le cose si complicano. Un modello piatto di mapping isola il database nelle operazione più semplici ma come dici tu non rappresenta "la realtà". La domanda è , che facciamo ? Ci saranno applicazioni che avranno bisogno dell'una e dell'altra soluzione perchè cosi come non tutti sanno fare applicazioni scalabili e performanti (come il sottoscritto) non tutti ne hanno bisogno.

# PDC 2005: DLinq e relational data

Left by Corrado's BLogs at 16/09/2005 1.02
Gravatar

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

Left by Dino Esposito at 20/09/2005 15.51
Gravatar

# Linq

Left by Mighell's Blog at 12/11/2005 19.18
Gravatar

# re: ADO.NET Entity Framework: incrociamo le dita

Left by StrangeLog - Il blog di Andrea S at 19/06/2006 16.18
Gravatar

# Corsi e ricorsi storici: G.B. Vico? No: LINQ!!!

Left by StrangeLog - Il blog di Andrea S at 29/04/2007 13.40
Gravatar

# Non

Left by StrangeLog - Il blog di Andrea Saltarello at 31/10/2008 10.20
Gravatar
Non

Your comment:



 (will not be displayed)


 
 
 
Please add 3 and 8 and type the answer here:
 

Live Comment Preview:

 
«febbraio»
domlunmarmergiovensab
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910