Diciamo che ho un programma chiamato theprogram
(il team di marketing era in sciopero quando il prodotto doveva essere nominato). Comincio quel programma digitando, forse non sorprendentemente, il nome del programma come comando in un prompt dei comandi. Dopodiché, vado in loop (dal punto di vista degli utenti, un prompt della riga di comando interattivo), dove un comando verrà letto dall'utente e, a seconda di quale comando è stato dato, il programma eseguirà alcune istruzioni.
Ho fatto qualcosa di simile al seguente (in pseudocodice C-like):
main_loop{ in=read_input(); if(in=="command 1") do_something(); else if(in=="command 2") do_something_else(); ... }
(In un programma reale, probabilmente incorporo più cose in diverse procedure, questo è solo un esempio.)
Funziona bene per una piccola quantità di comandi, ma diciamo che ne hai 100, 1000 o anche 10.000 (il manuale sarebbe enorme! ). È chiaramente una cattiva idea avere il 10.000% diif
se else if
s l'uno dopo l'altro, ad esempio, il programma sarebbe difficile da leggere, difficile da mantenere, contenere un sacco di codice standard ... Sì, tu non voglio farlo, quindi quale approccio mi consiglieresti di usare (probabilmente non userò mai 10.000 comandi in un programma, ma la soluzione dovrebbe, almeno preferibilmente, essere in grado di adattarsi a quel tipo di enorme (? ) problemi La soluzione non deve consentire argomenti per i comandi)?