Diciamo che ho 10 tipi di messaggi xml che entrano nel mio programma tramite un qualche tipo di input (file, porta, ecc.). Ho 10 sottoclassi di un tipo Message per gestire le esigenze specifiche di ciascun tipo di messaggio.
Quando arriva un nuovo messaggio, c'è un modo migliore di un'istruzione switch che attiva una sottostringa del messaggio, o un enorme albero if / elseif per decidere quale sottoclasse di Message I deve istanziare con la stringa del messaggio in arrivo ?
Vorrei passare la stringa a una factory e restituire la sottoclasse corretta, ma non riesco a trovare un modo che non usi un'istruzione switch.
modifica: Non ho specificato una lingua perché mi sono imbattuto in una situazione simile in più di una lingua, quindi volevo una soluzione generica.