Il pattern Factory method ingloba in un unico punto l'istanziazione della corretta classe (e di conseguenza la serie di if... else if...). Se la struttura di if... else if... è destinata a crescere o a mutare dinamicamente puoi utilizzare tecniche di reflection per l'istanziazione della corretta classe.