Разрешить пользователю выбирать реализацию кода для использования - PullRequest
0 голосов
/ 13 февраля 2019

Я начинаю новый проект, где нам нужно сделать некоторые расчеты на основе некоторых формул, эти формулы действительны в течение ограниченного интервала, например, год: с 2017 года по год: 2018, каждую пару лет они могут меняться.

Однако нам нужно разрешить пользователю выбирать «набор» формул для использования, например, пользователь может использовать формулы 2017 года или 2018

Мы пытаемся найти способ избежать использования кодакак

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

Изначально я пытался создать библиотеку DLL, содержащую формулы для каждого года, и динамически загружать их в код.Есть ли лучший способ для этого?

1 Ответ

0 голосов
/ 13 февраля 2019

Стратегия шаблон - это то, что вам нужно. Здесь и здесь являются примерами.Создайте интерфейс и конкретные реализации для ваших формул и установите во время выполнения правильную реализацию, основанную на годе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...