假设我有一个做一些计算的类。这组计算需要一组参数作为输入。
public class Calculator
{
private CalculatorConfig _config;
public Calculator(CalculatorConfig config)
{
_config = config;
}
public Result Calculate(object obj){}
}
我的 CalculatorConfig 类非常简单:
public class CalculatorConfig
{
public double param1;
public double param2;
...
}
我很简单地初始化它
var config = new CalculatorConfig();
config.param1 = val;
....
var calculator = new Calculator(config);
我的困境是这个类的用户可能会忘记初始化一些可能导致奇怪行为的字段。可能有意义的解决方案是将字段转换为属性,并且每个私有字段都有一个额外的布尔值,用于保存字段是否已初始化的信息。我还可以创建一个巨型构造函数,它将所有字段都作为参数。
在这种情况下你会选择什么方法?
谢谢