Progettare una singola API vs più API per interrogare i dati?

0

Diciamo che ho una struttura come sotto

typedef struct {

int v1;
string v2;
long v3;
string v4; 

} mystruct;

Ora devo memorizzare questa struttura per poter essere interrogata da uno qualsiasi dei suoi elementi. Quindi ho 4 mappe che memorizzano il puntatore condiviso della struct come valore e le chiavi sono v1, v2, v3 e v4.

Ora per interrogare la struttura ho due approcci a cui riesco a pensare

Avere una sola API in cui si passa la struct con una delle chiavi compilate e un tipo di query passato dall'utente, ad es.

typedef enum {
    query_type_V1,
    query_type_V2,
    query_type_V3
} query_type_t;

mustruct m;
m.v1 = 100;
bool get_mystruct(&m,query_type_V1);

Un altro approccio è quello di avere tre diversi apis per ogni tipo di valore, per esempio.

bool get_mystruct_from_v1(mystruct *m);
bool get_mystruct_from_v2(mystruct *m);
bool get_mystruct_from_v3(mystruct *m);

Qual è il design migliore e perché?

    
posta Viraj Raiyani 26.07.2017 - 07:14
fonte

0 risposte

Leggi altre domande sui tag