允许用户选择要使用的代码实现

时间:2019-02-13 11:58:03

标签: c# design-patterns dynamic dll

我正在开始一个新项目,因为我们需要根据一些公式进行一些计算,这些公式在有限的时间间隔内有效,例如year:2017到Year:2018,每两年可以更改一次。

但是,我们需要允许用户选择要使用的公式的“集合”,例如,用户可以使用2017年的公式或2018年的公式

我们正在尝试一种避免使用类似代码的方法

class FormulaA {
  double Calculate(Year selectedFormulaYear) {
      if(year == ...)
      else if (year === ...)
  }
}

最初,我很努力地制作一个包含每年公式的dll库,并将其动态加载到代码中。 有更好的方法吗?。

1 个答案:

答案 0 :(得分:3)

策略模式正是您真正需要的。 Herehere 是一个示例。为您的公式创建一个接口和特定的实现,并在运行时根据年份设置正确的实现