C# 允许用户选择要使用的代码的实现
我正在启动一个新项目,我们需要根据一些公式进行一些计算,这些公式在有限的时间间隔内有效,例如2017年到2018年,每两年可以更改一次 但是,我们需要允许用户选择要使用的公式集,例如,用户可以使用2017年公式或2018年公式 我们正试图找出一种方法来避免像这样的代码C# 允许用户选择要使用的代码的实现,c#,design-patterns,dynamic,dll,C#,Design Patterns,Dynamic,Dll,我正在启动一个新项目,我们需要根据一些公式进行一些计算,这些公式在有限的时间间隔内有效,例如2017年到2018年,每两年可以更改一次 但是,我们需要允许用户选择要使用的公式集,例如,用户可以使用2017年公式或2018年公式 我们正试图找出一种方法来避免像这样的代码 class FormulaA { double Calculate(Year selectedFormulaYear) { if(year == ...) else if (year === ...)
class FormulaA {
double Calculate(Year selectedFormulaYear) {
if(year == ...)
else if (year === ...)
}
}
起初,我想做一个dll库,其中包含每年的公式,并在代码中动态加载它们。
有更好的方法吗?战略模式正是您所需要的。遵循模式文章,为公式创建接口和特定实现。然后在运行时根据您确切需要的年份设置正确的实现。遵循模式文章,为公式创建接口和特定实现。然后在运行时根据年份设置正确的实现一个好方法是,在处理规则之后,接收年份并返回基于该年份的函数列表。一个好方法是,接收年份并返回基于该年份的函数列表,在那之后,你要制定规则。