【问题标题】:Allow user to select implementation of code to use允许用户选择要使用的代码实现
【发布时间】:2019-07-07 06:09:15
【问题描述】:

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

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

我们正试图找出一种方法来避免出现类似的代码

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

最初我坚持做一个包含每年公式的 dll 库,并在代码中动态加载它们。 有没有更好的方法呢?

【问题讨论】:

  • 一个好方法是,接收年份并根据该年份返回函数列表的函数,然后您可以处理规​​则。

标签: c# design-patterns dynamic dll


【解决方案1】:

Strategy 模式正是您所需要的。按照Strategy 模式文章为您的公式创建接口和特定实现。然后在运行时根据年份设置正确的实现

【讨论】:

    猜你喜欢
    • 2012-11-13
    • 1970-01-01
    • 2016-08-15
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 2023-04-07
    • 2022-01-03
    相关资源
    最近更新 更多