我有一个代表正在发生的当前事件的对象。这个事件包含很多设置。将所有设置变量存储在事件对象中的最佳做法是什么?
这些设置存储在数据库中(现在基于基类的不同列中: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)
...
}
有任何想法吗?