企業計量を表示するダッシュボードを設計しています(現在はC#でASP.net 3.5を使用しています)。デザインに関するアドバイスを探しています。私はWebアプリケーションでOOPに慣れていません。データベースクエリを使用した多態性
多対多の関係で、さまざまなユーザーが見ることができるさまざまなメトリックが存在することがあります。私は、ローカルのSQLデータベースにユーザーを格納しています。もちろん、各「メトリック」のメタデータも格納するのが理にかなっています。これはまた、それぞれに一種のアクセス制御リストを提供します。各メトリックには、異なるデザイン(棒、柱、パイ、線、または異なるy軸上の異なるシリーズのものなど)を持ついくつかの異なるチャートがあります。
これらのチャートは、プログラムによって設計された後、実行時にASP.netページに追加される可能性があります。それは空のチャートのスーパークラスの継承構造とそれを拡張する異なるチャートタイプを持つのが良いでしょう。
このページでは、特定のユーザーが表示してそれらを生成する権利を持つチャートを選択します。それでも、データベースで選択された情報に基づいて適切なサブクラスをインスタンス化するためのルックアップテーブルとして、大きなswitch文を使用しています。
もっと芸術的な方法がありますか?何らかの形で型宣言を実行時に提供していますか?グラフのスタイル情報をすべてデータベースに移動し、系列、データポイント、色などのテーブルと列を追加する必要があります。ここでは、単一のチャートクラスがすべての必要なクエリを実行し、チャートを作成します。ありがとう。