Esiste un nome per questo modello di struttura di dati costituito da un elenco di dizionari ciascuno con una voce, costituita da un oggetto? [chiuso]

0

Esiste un idioma della struttura dati simile a questo:

[
  { 
    obj_1_id: 
      {
        key1: value1_1, 
        key2: value2_1
      }
  }, 
  {
    obj_2_id: 
      {
        key1: value1_2, 
        key2: value2_2
      }
  }
]

Mi sono imbattuto in questo poche volte e ho un sacco di problemi con esso. Ad esempio, si noti che gli oggetti non hanno effettivamente i loro ID nell'oggetto, e che dato che si trovano in un elenco di dizionari piuttosto che in un singolo dizionario, non si può nemmeno cercarli facilmente per ID.

Quindi la mia prima domanda è se esiste un nome per questo idioma, e il follow-up sarebbe pattern o anti-pattern? Se modello, perché lo useresti mai?

    
posta Vynce 14.07.2015 - 07:36
fonte

2 risposte

2

Non è né un pattern né un anti-pattern. Non c'è un nome specifico per questo. È esattamente ciò che sembra essere e la sua qualità è determinata dal programma che lo usa.

Ha senso? Non per me, non senza contesto. L'array esterno potrebbe essere rimosso e gli ID spostati in un singolo oggetto? Forse dipende dal programma. Gli oggetti nidificati possono essere appiattiti per includere l'ID e le proprietà alla stessa profondità? Forse dipende dal programma. Potresti fare entrambe le cose e avere solo un singolo oggetto? Vedi sopra.

Se hai problemi con questi dati, nascondili dietro un'interfaccia o copi i dati in una struttura più adatta al tuo utilizzo.

    
risposta data 14.07.2015 - 21:09
fonte
1

La struttura dei dati che stai descrivendo è spesso utilizzata nei documenti JSON in cui hai un elenco di oggetti, ciascuno con attributi (tasti per i dizionari) e i loro valori (la porzione mappata di ciascun dizionario). Nel DS che offri, puoi pensare a obj_1_id e obj_2_id come oggetti e key1 e key2 come campi di quegli oggetti.

    
risposta data 14.07.2015 - 22:09
fonte

Leggi altre domande sui tag