Ich versuche, einen ReportHandler-Dienst zu haben, der die Berichtserstellung übernimmt. Berichte können mehrere, unterschiedlich viele Parameter haben, die eingestellt werden können. Im System gibt es derzeit mehrere verschiedene Methoden zur Erstellung von Berichten (MS Reporting Services, HTML-Berichte usw.), und die Art und Weise, wie die Daten für jeden Bericht generiert werden, ist unterschiedlich. Ich versuche, alles in ActiveReports zu konsolidieren. Ich kann das System nicht verändern und die Parameter ändern, so dass ich in einigen Fällen im Wesentlichen eine Where-Klausel erhalte, um die Ergebnisse zu generieren, und in einem anderen Fall erhalte ich Schlüssel/Wertpaare, die ich zur Generierung der Ergebnisse verwenden muss. Ich habe mir überlegt, das Factory-Pattern zu verwenden, aber wegen der unterschiedlichen Anzahl von Abfragefiltern wird das nicht funktionieren.
Ich würde gerne einen einzigen ReportHandler haben, der meine verschiedenen Eingaben annimmt und einen Bericht ausspuckt. An diesem Punkt sehe ich keine andere Möglichkeit als eine große Switch-Anweisung zu verwenden, um jeden Bericht auf der Grundlage der reportName behandeln. Irgendwelche Vorschläge, wie ich dies besser lösen könnte?