我需要制作一些与财务有关的数据报告,在进行计算时,会遇到很多'if then'的情况:如果是大客户,则减去10%,如果邮政编码等于'10101',则加上10%,如果当天是星期六,则进行复杂的计算等。
因此,我曾经阅读过这种示例,他们所做的是(希望我记得清楚)创建一个包含一些基本信息的类,并使其能够添加各种计算对象。
所以,将我记住的内容放入伪代码中:
Basecalc bc = new baseCalc();
//put the info in the bc so other objects can do their if
bc.Add(new Largecustomercalc());
bc.Add(new PostalcodeCalc());
bc.add(new WeekdayCalc());
如果 BC 运行所有已添加的 Calc 对象的 Calc() 方法,那么它们必须能够看到 Basecalc 属性以正确执行计算逻辑。
因此,所有 if 的不同 Calc 对象中,而不是全部在 Basecalc 中。
这样说您是否明白了呢?
我在想这是否是某种设计模式?