哪种设计模式用于分离复杂功能?

时间:2015-08-17 18:31:04

标签: oop design-patterns

我无法确定应该针对这种情况使用哪种设计模式。我目前有一个函数,它接受一个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个不同的功能:CalculateVariableUsingXMethodCalculateVariableUsingYMethod,{{1} }。我会使用哪种设计模式?

1 个答案:

答案 0 :(得分:3)

我建议你不要放弃"权威"但取决于你自己的最佳判断。

我决定的方式是提出两个问题:

1)最容易理解的是,将来我忘记了我在这里做了什么?

2)在我或其他人了解更多信息之后,将来可能会如何改变?如何轻松完成这些更改?