Nessun DM è perfetto in assoluto...

Prendo spunto dal post di raffau "Come NON progettare le Entities"... e dico la mia.

Alex parlando di un classico esempio di presunta denormalizzazione dice "il motivo è semplice il cliente potrebbe cambiare indirizzo, ma se quella fattura l'avevo fatta precedentemente se la riguardo o la ristampo deve sempre riportare il vecchio indirizzo."

Raffau risponde "Che dire, alla faccia della normalizzazione."

Ma qui non si tratta di normalizazione o meno... se il caso d'uso dice che "le stampe di fatture passate devono richiedere lo stato delle cose come erano alla data della fattura..." quella che può sembrare una denormalizzazione del db in realtà NON lo è. E' semplicemente un db che salva i dati per quello che ci serve venga fatto.

Credo che dominio non deve disegnare il mondo perfetto, credo che il dominio applicativo debba aiutare a disegnare il mondo realtivo ai casi d'uso dell'applicazione... cercando di rimanere estraneo alla tecnologie che ruotano intorno all'applicazione stessa; infatti credo che tutto debba ruotare intorno al DM modellato secondo le esigenze logiche dell'applicazione (i casi d'uso). Quindi - IMHO - è il caso d'uso che ci deve aiutare a modellare entità di dominio, servizi e database... non è il database che deve dettare legge per in nome della performance assoluta. Anche in natura non tutto è perfetto in assoluto... ma ogni cosa è semplicemente perfetta per quello che è stato pensato debba fare, no?

oO0( ...tutto è relativo al caso d'uso)

Technorati Tag: ,

posted @ sabato 9 febbraio 2008 03:35

Print

Comments on this entry:

# re: Nessun DM è perfetto in assoluto...

Left by raffaeu at 09/02/2008 11:11
Gravatar
Beh vista sotto un aspetto generalizzato hai certamente ragione eh. Solo che a volte vedo ripetere piu' volte le stesse informazioni senza calcolare che hai sotto un Db e che certe regole di progettazione, come dice anche D. Mauri, devono essere calcolate.
Poi è chiaro che tutto è comunque relativo al caso d' uso.

# re: Nessun DM è perfetto in assoluto...

Left by Raffaele Rialdi at 09/02/2008 11:30
Gravatar
Quoto, caro Markino, non potevi essere più limpido.
Se parti dalla normalizzazione, puoi anche costruire qualcosa di ingestibile a livello di dominio, il che significa che triplichi le richieste al DB e tutto il bel lavoro di ottimizzazione sul DB lo cacci dalla finestra. Come dire: bello e inutile.

# re: Nessun DM è perfetto in assoluto...

Left by Davide Mauri at 09/02/2008 13:05
Gravatar
Quoto e straquoto: il DM va modellato secondo la sua logica (OO) ed il database secondo la proprio (Modello ER). Creare un DM da un modello di database è una soluzione poco efficiente e tipicamente riconduce ad avere classi che non servono a nulla. Riguardo al fatto che il "caso d'uso" deve modellare il database: correttissimo, in quanto il db deve modellare la realtà che viene espressa tramite "proposizioni" o, in termini simili, "casi d'uso".
Solo dopo aver fatto questo si può passare a normalizzare...il contrario non si dovrebbe fare :-)

# Nessun DM è Perfetto in assoluto

Left by Pingback/TrackBack at 11/02/2008 13:20
Gravatar
http://guisa.org/blogs/solution-architects-blogs/archive/2008/02/09/nessun-dm-_2600_egrave_3b00_-perfetto-in-assoluto_2e002e002e00_.aspx
Comments have been closed on this topic.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011