需要删除新实例的if语句,请建议使用哪种设计模式。请不要提供任何案例说明
public ITrialBalance GetTrialBalanceReport(string param1, int param2)
{
if (param2 == 1)
return new TrialBalanceReport().GetTrialBalanceLevel2(param1, param2);
else
return new TrialBalanceReport().GetTrialBalanceLevel2(param1, param2);
}
谢谢
答案 0 :(得分:0)
使用多态性消除了if-else条件。具有所有if-else语句的函数将被基类中的虚函数替换。每个if-else条件都有一个对应的派生类,这些派生类相应地实现了该虚函数。
派生类和基类以及函数的参数应该是更有意义的实体,而不仅仅是param1或param2之类的数字。