c#代码中的if条件用来替换哪种设计模式

时间:2018-09-27 13:23:31

标签: design-patterns

需要删除新实例的if语句,请建议使用哪种设计模式。请不要提供任何案例说明

public ITrialBalance GetTrialBalanceReport(string param1, int param2)
    {

        if (param2 == 1)
            return new TrialBalanceReport().GetTrialBalanceLevel2(param1, param2);
        else
            return new TrialBalanceReport().GetTrialBalanceLevel2(param1, param2);
    }

谢谢

1 个答案:

答案 0 :(得分:0)

使用多态性消除了if-else条件。具有所有if-else语句的函数将被基类中的虚函数替换。每个if-else条件都有一个对应的派生类,这些派生类相应地实现了该虚函数。

派生类和基类以及函数的参数应该是更有意义的实体,而不仅仅是param1或param2之类的数字。