レポートの作成を処理する ReportHandler サービスを使用しようとしています。レポートには、設定可能なパラメータの数が異なる複数のパラメータを含めることができます。システムには現在、レポートを作成するいくつかの異なる方法 (MS レポート サービス、html レポートなど) があり、レポートごとにデータを生成する方法が異なります。すべてを ActiveReports に統合しようとしています。システムを変更してパラメーターを変更することはできないため、結果を生成するために本質的に where 句を取得する場合もあれば、結果を生成するために使用する必要があるキーと値のペアを取得する場合もあります。factory パターンを使用することも考えましたが、クエリ フィルターの数が異なるため、これは機能しません。
さまざまな入力を受け取り、レポートを吐き出す単一の ReportHandler があればいいのにと思います。現時点では、大きな switch ステートメントを使用して reportName に基づいて各レポートを処理する以外に方法はありません。これをよりよく解決する方法について何か提案はありますか?