発生している現在のイベントを表すオブジェクトがあります。このイベントには多くの設定が含まれています。すべての設定変数をイベント オブジェクト内に格納するためのベスト プラクティスは何ですか?
設定はデータベースに保存されます (現在、基本クラスに基づいて異なる列に格納されています: ValueString、ValueInt、ValueBool、ValueDateTime、ValueFloat、ValueDecimal)。一意のキーは、データベース内の設定を表します。
イベント オブジェクトをロードしたらすぐにローカル キャッシュに保存して、すばやくアクセスできるようにします。
すべてをオブジェクトにキャストする必要がありますか? (設定を取得/設定するための不要なキャストのように感じます)
class Event
{
// string = settings key
Dictionary<string, object> _settings;
public void AddSetting(string key, object value)
public object GetSetting(string key)
}
または、別の辞書に入れる必要がありますか?
class Event
{
// string = settings key
Dictionary<string, string> _settingStrings;
Dictionary<string, int> _settingInts;
...
public void AddSetting(string key, string value)
public void AddSetting(string key, int value)
...
public string GetStringSetting(string key)
public int GetIntSetting(string key)
...
}
何か案は?