Mondi su mondi, sistemi di sistemi.

OR Mappers

Ascoltando questo podcast mi è venuto un attacco di nostalgia pensando a quanto tempo ho pas­sato a usare l’EOF, a quanto ne ho tes­suto le lodi e a quanto poco ne senta adesso la mancanza, avendo cambiato radicalmente idea.

Oggi penso che gli ORM siano quasi sempre la soluzione sbagliata, se non per l’indipendenza dai vari dialetti SQL.

Il problema sta nella supposta equivalenza fra classe e tabella. La tabella CLIENTE diventa la classe Cliente; le colonne diventano diventano attributi/ivars/properties/metodi della classe; ogni riga della tabella diventa un’istanza della classe. Semplice, no?

In effetti la tentazione è forte, ma credo sia un’idea sbagliata e la ragione è quella definita da Date come “The first great blunder”. Nota sul link: l’ho messo per comodità ma raccomando di leggere il suo libro “An introduction to database systems”.

Per molto tempo ho considerato le obiezioni di Date troppo formali, quasi capziose, ma mi sbagliavo. Credo che l’integrità concettuale così puntigliosamente difesa sia una cosa importante e che senza di essa le pre­messe per un buon design del software siano minate alle fondamenta.

Per proseguire

Commenti e trackback sono disabilitati.