««« | »»»
OR Mappers: i primi dubbi
A dispetto dei “great blunders” (1, 2), per un certo tempo ho tenuto la vocina critica opportunamente al di sotto della soglia uditiva; mi sembravano questioni marginali e comunque lavorare con l’EOF era divertente ed elegante, soprattutto rispetto a prodotti analoghi, come Hibernate.
Infatti, ho cominciato ad avere qualche dubbio serio su questioni che non riguardano direttamente la scorretta analogia classe-tabella. Semplicemente, un giorno ho cominciato a chiedermi se, al posto di mappare il nome del cliente da VARCHAR a String, non sarebbe stato meglio definire una classe ad hoc.
In fondo — mi dicevo — che senso ha scrivere una cosa del tipo cliente.nome().equals(indirizzo.via()), visto il loro significato è completamente diverso? È vero, di solito usiamo String per entrambi i valori e anche gli eventuali vincoli d’integrità potrebbero essere molto simili, ma non ha molto senso confrontare un nome con una via.
Purtroppo, per quanto l’idea sia corretta, la complessità del codice schizza alle stelle perché non è semplice implementare la cosiddetta “specialization by constraint”; con l’EOF, in Java, non sono riuscito a ottenere risultati decenti.
E così ho cominciato a ripensare il mio approccio.
Per proseguire
Commenti e trackback sono disabilitati.