Ho un insieme semplice di risorse, non più di 10 tipi, con alcune relazioni uno-a-molti. Ad esempio
- Un ordine ha molte voci
- Una voce ha molti commenti
- Una macchina può avere più voci associate
- Un materiale può avere più ordini associati
Tutti gli oggetti del modello sono identificati da un'unica chiave primaria
Comunico utilizzando le chiamate HTTP REST. Come dovrebbero essere modellati gli oggetti?
Opzione 1: Nidificazione di oggetti
Le relazioni possono risultare in oggetti nidificati:
entry{
PK: '_',
prop1: '_',
prop2: '_',
machine:{
PK: '_',
prop3: '_'
},
order: {
PK: '_',
material: {
PK: '_',
prop4: '_'
}
}
}
E allo stesso modo per gli altri oggetti
Opzione 2: riferimento di PK
Questo approccio "appiattisce" gli oggetti:
entry{
PK: '_',
prop1: '_',
prop2: '_',
machinePK: '_',
orderPK: '_'
}
Qual è l'approccio migliore? ovviamente entrambi hanno chiari vantaggi e svantaggi. Un approccio ibrido è una soluzione praticabile? In tal caso, quale criterio dovrei seguire per scegliere tra oggetti "piatti" o "nidificati"? Potrebbe forse dipendere dalla tecnologia che uso per implementarlo (cambiare il modello a causa delle tecnologie puzza di cattiva pratica ...)?
Per dare un po 'di contesto, sto usando ASP.NET WebApi 2 per il backend e AngularJS in Typescript per il frontend