Ho una soluzione C # che legge i record da un db e li elabora in un altro db. I record da elaborare sono essenzialmente una stringa lunga che rappresenta i dati e quindi un altro "codice" di stringhe che determina come deve essere analizzata la stringa di big data. Ci sono dozzine e dozzine di diversi tipi di documenti; Li ho rappresentati come distinte classi concrete che ereditano tutte da una classe astratta.
Posso generare il codice per rendere le classi per i diversi record abbastanza facilmente. Tuttavia, c'è un modo migliore (cioè meno verboso, più dinamico) per mappare il "codice" alla classe che lo rappresenta? In questo momento sto usando solo un interruttore enorme, qualcosa del tipo:
BaseRecord record;
switch(code) {
case "A":
record = new A(stringData);
case "B":
record = new B(stringData);
.
.
.
case "Z":
record = new Z(stringData);
dove A, B, ..., Z derivano tutti da BaseRecord.
Oltre alla riflessione, non riesco a pensare a un modo per mappare le rappresentazioni di stringa dei nomi di classe alle classi che rappresentano.