Dati 2 oggetti / classi:
- Una classe per una nave da carico. Ha una piccola serie di attributi, ad esempio posizione attuale, dimensioni, numero di membri dell'equipaggio e altre cose. Più importante, ha un attributo per l'id che è unico e la classe è lavabile.
- Una classe per un porto. Di nuovo una piccola lista di attributi come la posizione e l'identificatore univoco. Questa classe è anche lavabile.
Ora potresti porre domande interessanti come:
- Per ogni nave da carico qual è il porto più vicino insieme alla sua distanza.
- Per ogni porto forniscimi un elenco di tutte le navi da carico entro un raggio di 100 km.
- Dammi per ogni nave da carico una lista di tutti i porti visitati l'anno scorso (probabilmente hai bisogno di qualche informazione in più per questa domanda, ma questo dettaglio omettiamo per ora come lo riguarda i risultati).
Quindi assumiamo che le classi siano immutabili. Tutte le classi sono anche nella memoria del computer.
Ora la mia domanda è come memorizzare i risultati di determinate domande in memoria? Dovrei, per ogni domanda, mantenere solo le relazioni tra gli id (che ogni nave da carico e porto ha) o posso mantenere intere classi che dovrebbero funzionare perché sono lavabili?
Un piccolo esempio per la domanda 2:
Quando tengo solo ID, potrebbe apparire come segue:
{5235: [735235, 25245, 954646],
3232: [112, 34345, 65354, 45454]}
O dovrebbe essere così:
{(un'intera classe di porto): [(un'intera classe di nave), (un'intera classe di nave), (un'intera classe di nave)],
(un'intera classe di porto): [(un'intera classe di nave), (un'intera classe di nave), (un'intera classe di nave), (un'intera classe di nave)]}
(Durante la stesura di questo messaggio mi è venuta in mente un'altra domanda, se l'identificatore univoco fosse un attributo della classe, voglio dire che ogni domanda che si pone non ha strettamente nulla a che fare con l'identificatore)