シングルトンクラスのインスタンスを格納するのに最適な場所はどこですか?たとえば、構成クラス(アプリケーションのグローバル設定をロードする)と、おそらくWebサービスにアクセスするクラスがある場合、これらをインスタンス化して保持するのに最適な場所がわかりません。
現在、私はそれらをProgramクラス(Application.Runが呼び出される場所)のインスタンスとして持っており、正常に機能しているようですが、それが最良の方法かどうかはわかりません!...
static class Program
{
public static string dbConnectString = "Data Source=" +
Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase) +
@"\xxx.sdf" + ";Persist Security Info=False";
public static Settings settings = null;
[MTAThread]
static void Main()
{
settings = Settings.Instance;
Application.Run(new MainMenu());
}
}
そして、アプリケーション全体を通して、私はそれを次のように呼んでいます:
txtWebServiceUrl.Text = Program.settings.getSetting("web_service_url");
これに何か問題がありますか、それとも最善の方法は何ですか?ありがとう!