我应该创建一个公共静态类还是使用内部常量? 我正在研究一个非常大的应用程序,并注意到在许多地方使用const字符串。这用于比较用户选择
const string Thatch = "Thatch";
const string BrickAndTimberFrame= "Brick And Timber Frame";
const string OtherRoof = "Other";
etc......
etc......
我想要做的是在Core Application中创建公共静态类(参见下面的代码)。这样做的原因是我只需要在一个地方更改/添加一个值。
public static class RoofConstruction
{
public static String Thatch{ get { return "Thatch"; } }
public static String BrickAndTimberFrame { get { return "Brick And Timber Frame"; } }
etc....
etc....
}
比较功能将如下所示
internal bool SlateTileOrConcreteRoof()
{
return RiskInformation.RoofConstruction.Value == RoofConstruction.Slate ||
RiskInformation.RoofConstruction == RoofConstruction.TileAndSlate ||
RiskInformation.RoofConstruction == RoofConstruction.Concrete;
}
请添加任何评论/改进等
答案 0 :(得分:0)
一般来说,我认为“'Good Class™'的定义特征”是“它做正确的事情,永远不要(!)'如何,确切地说, “它做到了。”
从类中导出常量时,这表明应用程序(现在和将来......)的未知数量的其他部分将包含逻辑对该字符串进行测试。
因此,只有你能真正回答的问题是:“他们真的关心'那个字符串的价值',还是他们想要'回答是或否的问题,这部分是基于回答的关于该字符串的值?'“这可能会指导您做出最佳做法的决定。 (请注意,我不认为有任何明确的规则。我已经做到了两种方式......)