我无法确定应该针对这种情况使用哪种设计模式。我目前有一个函数,它接受一个ENUM并使用类本身的变量来进行计算。有多种方程/方法可以使用不同的参数获得计算变量。目前,我有一些东西使用父类变量并接受枚举确定它是什么情况。我想拆分函数并将其设置为用户必须将变量传递给函数/拆分函数而不依赖于父类变量。例如:
public double CalculateVariable(double argument, VariableType varType)
{
var returnedVariable = 0.0;
switch (varType)
{
case 1:
//Use Equation 1 using variables (a,b,c,d) from parent class + argument
break;
case 2:
//Use Equation 2 using variables (a,c,f,g) from parent class + argument
break;
case 3:
//Use Equation 3 using variables (a,b,c,f) from parent class + argument
break;
}
return returnedVariable;
}
使用某种类型的Builder模式来实现分割此功能的目标是否合适?或者更好地拥有5个不同的功能:CalculateVariableUsingXMethod
,CalculateVariableUsingYMethod
,{{1} }。我会使用哪种设计模式?
答案 0 :(得分:3)
我建议你不要放弃"权威"但取决于你自己的最佳判断。
我决定的方式是提出两个问题:
1)最容易理解的是,将来我忘记了我在这里做了什么?
2)在我或其他人了解更多信息之后,将来可能会如何改变?如何轻松完成这些更改?