Ho studiato alcune strutture di persistenza principalmente Hibernate, DORM, TMS Aurelius e mi chiedo. In un modello di tipo:
TOrderFiscal < > ----- > Items < > -------- > TOrderItem ------- > TProduct
TOrderFiscal --------- > TSuplier --------- > TCidade -------- > State
Ogni classe di questo con innumerevoli attributi, tutti mappati correttamente alle loro tabelle e campi corrispondenti. Quando si trasporta una nota senza usare "Lazy Load" si farebbe sempre con diversi join selezionare tutti i campi da ciascuna di queste classi.
Ma sarebbe uno spreco poiché la nota ha bisogno solo del codice fornitore e degli attributi del nome, gli attributi OrderItem richiedono solo il codice, il nome qty. magazzino.
Quale soluzione dovrebbe essere presa per creare un fornitore di classe specifico di note solo con questi attributi? ad esempio
TOrder <> ----- > Items <> -------- > TOrderItem ------- > TNotaItemProduct
TOrder -------- > TOrderSupplier
Se questa è la soluzione, cosa succede quando una regola aziendale in TProduct dovrebbe essere anche TOrderItemProduct? Ho duplicato il codice in entrambe le classi? Patrimonio, ad esempio TORderItemProduct e TProduct che ereditano entrambi da TBaseProduct?
O è una preoccupazione che noi programmatori non dovremmo avere?