【发布时间】:2015-08-18 02:36:46
【问题描述】:
我无法确定在这种情况下应该使用哪种设计模式。我目前有一个函数,它接受一个 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、CalculateVariableUsingZMethod。我会使用哪种设计模式?
【问题讨论】:
标签: oop design-patterns