如何命名代表键/值对集合的实体类

时间:2018-08-01 17:55:59

标签: c# .net orm naming-conventions naming

我们有一个名为Preference的现有关系数据库表,我们无法使用以下模式进行合理更改:

| PreferenceId | UserId | SerializedValue |

每个SerializedValue代表键/值对的序列化(自定义格式,以空格分隔)集合。 (键集由PreferenceId确定。)

我们正在尝试在应用程序中使用类型化的实体对此进行建模。我们已经着手进行如下操作,其中每个Derived<ClassName>都有一个唯一的PreferenceId

public class <ClassName> {
    public int PreferenceId { get; set; }
    public string SerializedValue { get; set; }
}

public class Derived<ClassName> : <ClassName> {
    /*
    properties whose names represent the keys
    and whose values represent the values
    when SerializedValue is deserialized
    */
    public string Key1 { get; set; }
    public int Key2 { get; set; }
    ...
}

问题: <ClassName>的好名字是什么?

我们考虑过的选项:

  • Preference-这与数据库架构最匹配,但是在概念上没有意义,因为SerializedValue中的每个键/值对本身都是一个“首选项”,因此该类表示一个偏好设置。
  • Preferences-将类名设置为复数通常是错误的做法。
  • PreferenceCollection-对于here中类似问题的共识,但往往暗示该类包含一个实际的集合属性,而实际上不是。
  • PreferenceDictionary-here的建议。指示它具有的键/值对;但也表示不是.NET字典类型。

0 个答案:

没有答案