luciusinfabula ha scritto:
Di solito qual è la soluzione migliore secondo voi?
Diciamo che, in linea generale, le differenze di massima tra le due soluzioni le hai già preannunciate, ma non credo ve ne sia una migliore o peggiore in assoluto, poiché il tutto dipende da come viene vista la risorsa
Ordine nella Web API che stai costruendo.
Una visione potrebbe considerare ad esempio le righe di dettaglio dell'ordine come facenti parte integrante della risorsa
Ordine, e pertanto andrebbero specificate e aggiornate in blocco quando si accede a tale risorsa, ma un'altra visione potrebbe considerare una risorsa
DettaglioOrdine intendendola in modo separato.
Oltre a valutare se una delle due alternative sopra introduce problematiche a livello di logica nel sistema, io ad esempio sarei per adottare la soluzione che prevede le righe come parte integrante dell'ordine, poiché questo semplifica a livello di transazione l'inserimento cumulativo dei dati nelle varie tabelle; va detto però che, attribuendo uno specifico "stato" a un ordine, questo potrebbe apparire inizialmente come provvisorio, essere successivamente integrato con le risorse correlat (ossia
DettaglioOrdine) e venire confermato in un momento successivo.
Intendo dire quindi che, per ogni visione, esiste un workaround o un modo lecito di rappresentarla, quindi alla fine credo che tutto stia a prendere accordi con lo sviluppatore e scegliere quella che appare migliore per entrambi tenuto conto di tutte le possibile casistiche d'uso che possono verificarsi, mentre tutto il resto in fondo è quasi "filosofia".
Ciao!