Sono in fase di progettazione di un programma basato sull'input ricevuto, selezionerei una particolare categoria e un'azione all'interno di quella categoria. La categoria, l'azione all'interno di e il valore (i) relativi a quell'azione sono tutti valori immutabili, insieme alla relazione tra categoria e azione.
Normalmente assegnerei tutto a un array o una raccolta multidimensionale, ma questo mi sembra sia complesso e inutilmente complesso da cercare e ordinare. Le costanti non mi permettono il lusso di definire le relazioni tra di loro (anche se non puoi avere costante A legato a subConstant B per esempio), ed essendo un'app desktop, avere un utente che installa un server di database non è attraente. Stavo pensando di avere tutto nei file xml, ma le regole di base dell'applicazione non sono allettanti grazie alla possibilità di modificare facilmente, e quindi modificare la funzionalità principale del programma che non vorrei essere modificabile.
Qualcuno si è imbattuto in qualcosa di simile, e in tal caso, qual è stata la configurazione che hai usato per la tua soluzione?
EDIT: fammi vedere se riesco a spiegarlo meglio con un esempio. Dì che ho la seguente struttura
category A
-- action AB
-- result 1
-- result 2
-- result 3
-- result 4
-- result 5
-- result 6
dove se selezionassi la categoria A e l'azione AB, un lancio di un dado selezionasse il risultato da restituire. La categoria, l'azione e il risultato non cambieranno mai sia nel nome che nella relazione (l'azione AB sarà sempre legata alla categoria A, i risultati all'interno dell'azione AB saranno associati all'azione AB e il contenuto dei risultati non cambierà mai)
EDIT: per questa applicazione non ci si attendono usi di rete, come richiesto in una delle risposte.