私は自分のシナリオに使用するモデルに関するいくつかの一般的なアドバイスを探しています。クラス間のオブジェクトへのアクセスを共有するための最適な開発方法
基本的に私はGIS_File
オブジェクトをロードするプログラムを持っています。これはProject
オブジェクト内のList<GIS_File>
に格納されています。通常は1つだけProject
オブジェクトがありますが、必要に応じて複数のプロジェクトを一度にロードできるようにしたいので、プログラム内に単一のList<Project>
があります。
プログラムにはWindows /フォームに関連付けられた異なるクラスがあります(私はWPFを使用していますが、これには関係ありません)。Projects
のリストにアクセスする必要があります。主なものは、オブジェクトの空間的位置のトップダウンマップビューを提供し、別のグラフはデータの特定の属性を示し、別のグラフは別の属性などを示します。このようなビューが最終的に追加される可能性があります。これらのビューのそれぞれに関連するクラスはかなり大きく、数千行に及ぶ。各ビュークラスは、対応するウィンドウ内のロードダイアログを介してList<Project>
にファイルを追加することができます。
私の質問は、クラス間でデータを共有するにはどのように最善の方法です。私は現在静的なデータストアを持っていますが、このテクニックはよりオブジェクト指向のデザインに有利ではないようですが、デザインを可能な限り良くしたいと思っています。
データを参照して、さまざまなビュークラスを初期化することは可能ですか?
AlternativeView = new AlternativeView(ref MyProjects);
これがベストプラクティスでない場合は、どのような方法が最適ですか?
静的メソッドとクラスで動作しますが、今後のメンテナンスのためにできるだけ良いデザインにしたいと考えています。
アドバイスをいただければ幸いです。
いいですね、私は見ていきます。これはデータベースでの作業を意味しますか?私は以前にそれをしていない。データベースにオブジェクトを格納でき、保存する必要がある場合、または実行時にのみ存在できるかどうか – Greg
いいえ、一部のストレージ(DB、ファイルなど)でよく使用されるリポジトリですが、必ずしもそうする必要はありません。サイドノート:数千のクラスのクラスは一般的には良いアイデアではありません。 –
あなたの答えとアドバイスをいただきありがとうございます。乾杯。 – Greg