一个静态类和一个普通类共享相同的配置?

时间:2012-12-14 11:22:45

标签: c# configuration

我有一个在我的项目中共享的配置类:

public class BarcodeConfig
{
    public string LotStandardDigits { get; set; }
    public string LotOldStandardDigits { get; set; }
    public int LotOldNumofDigits { get; set; }
    public int LotStandardNumofDigits { get; set; }
}

在我的主类实现中,我有2个类。一个静态(用于实用程序,另一个包含我所有的逻辑:

public static class BarcodeUtil
{
...
}

public class BarcodeBLL
{
...        
}

我希望能够为我的静态类和普通类使用相同的配置类。是否最好使配置类保持静态?不是吗?

2 个答案:

答案 0 :(得分:4)

我更喜欢实例化配置对象。在那些静态方法的情况下,我将配置作为参数传递给每个这样的可用性方法。

这允许通过完全不同的模块同时使用实用方法用于完全不同的目的,并使它们更具弹性。

答案 1 :(得分:0)

如果使用单元测试,最好不要使用静态类,因为伪造它们要困难得多。这是一个有趣的讨论:

When to use static vs instantiated classes