グローバル/ローカルオブジェクト-実際にはカプセル化の問題(およびスコープの問題-オブジェクトはアプリケーショングローバルまたはクラスグローバルにすることができます-ベストプラクティスは、オブジェクトを必要な場所にできるだけ近く、スコープごとに初期化して割り当てることです-スコープは次のようになりますアプリケーション(実際には名前空間)、クラス、メソッド、さらにはブロック(using{}やforeach{}など)。多くのアプリケーショングローバルメンバーを作成する代わりに、それらをクラスにカプセル化してそれらのクラスを初期化する必要があります。メインループと第二に、クラスのすべての利点があります-サブクラス化、多態性など。必要な限り、これらのクラスへの参照を保持します。あなたの場合、私が知る限り、データが変更されるまでそれらを保持します。それは24時間になりますか?
いずれにせよ、ある時点で、メインアプリケーションオブジェクトからデータにアクセスできる必要があります。データオブジェクトを適切にカプセル化した場合、つまり、表示する必要のあるすべての情報を保持するクラスを作成した場合でも、メインアプリケーションループでそれらのクラスを初期化する必要があります。
30秒ごとにオブジェクトを再作成する必要はないと思います。クラスメンバーにデータを入力すると、もちろん変更または破棄する場合を除いて、変更されません。また、実際にコンピュータのメモリを大量に消費しているため、何らかの方法でメモリに保存する必要のあるデータから数秒または場合によっては数分後に再作成するために表示された後、各グラフを実際に破棄する必要があるとは思えません。
アプリがどのように機能するかを理解する方法では、基本グラフクラスを作成し、グラフと同じ数のグラフサブクラスを作成します(オブジェクトデザインが互いに異なる場合は、クラスで作成し、場合によってはリストに入れます)。 ()、午前7時に各グラフに入力し、コレクションをループして表示します。