システム全体でアクセスする必要がある特定の文字列を格納するための設定クラスを作成しようとしています。以下のコードで globalSettings.cs を作成しました。
public class GlobalSettings
{
private readonly Hashtable myHT;
public GlobalSettings()
{
//Hashtable used to store global strings
myHT = new Hashtable();
myHT.Add("logCategory","TMBC"); //event log category
myHT.Add("logSource", "MVC"); //event log source
//setup required options
//Create log source if required
if (!EventLog.SourceExists(myHT["logSource"].ToString()))
{
EventLog.CreateEventSource(myHT["logSource"].ToString(), myHT["logCategory"].ToString());
}
}
public string getSetting(string key)
{
return myHT.ContainsKey(key) ? myHT[key].ToString() : null;
}
}
現時点では、各コントローラーでこのクラスを次のように初期化しています。
protected GlobalSettings globalSettings = new GlobalSettings();
**コンストラクターをプライベートに設定し、シングルトン パターンを実装する必要がありますか?
設定情報を含むコントローラークラスを拡張した方がよいでしょうか?
**