3

私は一連のクラスを持っていますCity, Country, Border.

各クラスには相互参照があります。

  • Cityは親Countryを参照します
  • は含まれる都市を参照しますList<City>
  • は他の国境を接する国を次の方法で参照しますList<Country>
  • Countryは、2 つの Country インスタンス間で共有されるBorderクラスを参照します

上記は、私が使用しているプログラム内でいくつかの問題を引き起こしていると思います: 読み込みが遅く、メモリの問題です。

何が起こっているのか正確にはわかりません。「循環参照」は悪い習慣だと読んでいます。SQL のようなクラス パターンを通常のクラスにマップする別の方法はありますか?

public City GetCities(){...}おそらく 1 秒間に 120000 回の呼び出しが発生する可能性があるため、メソッドを呼び出す必要はありません。したがってcached、動的に要求するのではなく、これらを要求する必要があります。


誰にもアイデアがありますか?

4

1 に答える 1

0

データベースからアイテムにアクセスするために使用しているものは何でも、あまりにも多くのフェッチを実行しているようで、あちこちにオブジェクトが重複しているようです。

テーブル内のデータは、完全にキャッシュするのに十分小さいですか? その場合、アプリケーションの起動時にすべてを辞書にプリロードし、代わりにそれらの関係を照会できます。

于 2013-08-02T16:57:38.627 に答える