これは、接続されたテーブルを使用して作成したチャートの会社の例です。
私の完全なアイデアを更新する
この投稿を始めて以来、私はこの多くの考えを与えられ、ついにビルダーパターンを使用してしっかりしていると思うという考えを思いつきました。まず、完全なアイデアについて説明します。
私の会社は、すべてのプログラムに使用できる、接続されたテーブルを備えたある種の標準グラフを必要としています(これにより、プログラムはすべて同じであると感じられます)これらのチャートのほとんどは同じであるため、私は新しいプログラムを作成したり、チャートを別の場所に配置したりするたびに、新しいチャートを作成する手間を省くことができます。
私の会社は主に3つの異なるチャートを使用しています。
- 棒グラフ
- 折れ線グラフ
- 円グラフ
これらのチャートを作成するとき、いくつかの未知の変数があります。
チャートシリーズの名前:これは表示される名前であり、すべての線/棒/円スライスとは異なります
期間:チャートデータは、1日または1週間(月曜日、火曜日、水曜日などの毎日)、1か月(1月、2月、3月、4月など)、または時刻(午後8時、午後9時)の期間から取得されます。等)。
グラフの種類:もちろん違いは、ユーザーが見たいグラフの種類です。
最後になりましたが、作成するグラフの唯一の違いは円グラフ内にあります。円グラフは、シリーズから作成されたのではなく、監視可能なリストから作成されたJavafxの唯一のグラフであるため、pieChartBuilderはデータを使用して挿入する必要があります。他とは異なる方法。
上の写真はUMLダイアグラムではなく、新しいプログラムがどのように動作し、デザインパターンを調整するかを示しています。これが、私の考えのウォークスルーです。
GUI:まず、Guiは常に実際のロジックから分離されています。JavaFxで作成する必要があり、Directorクラスのインスタンスが必要なことを除いて、GUIに何かを要求する予定はありません。
ディレクター:ディレクタークラスは、すべてのアクションが発生する場所です。最初に、クライアントは、取得したいチャートのタイプ、データを取得したい期間、そしておそらく表示したいデータの種類をディレクターに呼び出します。クライアントは、データを表示する期間(日、週、月、年など)も設定します。
次に、ディレクターはそのすべてのデータを取得し、統計クラスのインスタンスをクラス分けして、ディレクターがチャートビルダーに渡すことができるデータをクラスに要求します。
統計:統計クラスは、データがすでに含まれているかどうかをチェックし、含まれていない場合は、データベースへのオブジェクトのリストをクラス分けします。
データベース:データベースは、クライアントが送信した期間(日、週、月、年ベースのいずれか)のデータのクラスを非常に単純に作成し、オブジェクトを作成してリストに追加し、統計クラス。
(戻って)統計クラスでは、オブジェクトデータが計算され、ディレクターに返されます。
(ディレクターに戻る)ディレクターはchartBuilderを呼び出して、クライアントが指定したタイプのチャートを時間枠(時間の配列または配列リストです。これはクライアントがディレクターで設定できるオプションです
Director.setStandardTime(time)
)で作成します。次に、ビルダーは、ディレクターから取得したデータを使用してチャートとテーブルを作成します。その後、クライアントはChartBuilder.getChart()を呼び出して、それを自分のレイアウトに追加できます。
これが私の考えです。コメントをお願いします。読んでいただきありがとうございます。すべての回答を読むのを楽しみにしています。