2014-01-20 8 views
0

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

+0

Можете ли вы привести пример кода до и после одной из этих фаз? –

ответ

0

Есть несколько способов, что применение инъекции зависимостей может быть полезным:

  1. Это позволяет вам абстрактный код, который должен быть испытан в изоляции. В вашем случае вам может понадобиться разбить вычислительный движок на несколько частей, чтобы упростить проверку меньших частей этого движка или абстрагировать механизм базы данных, который движок использует внутри.
  2. Это позволяет развивать двигатель несколькими командами. В зависимости от абстракции, которую предоставляет другая команда (или вы указали для другой команды), она позволяет вам добиваться прогресса, не будучи заблокированным прогрессом другой команды.
  3. Если двигатель состоит из небольших деталей, которые должны меняться (шаблон спецификации), для этого можно использовать абстракции для этих частей. Вы даже можете сделать это во время выполнения, если просто зависеть от абстракции.

Если, однако, этот вычислительный движок разработан одной командой, он не имеет каких-либо зависимостей от чего-либо, что необходимо абстрагировать (базы данных, файловой системы и т. Д.), И не является настолько сложным, что тестирование отдельного части облегчили бы разработку и верификацию, использование инъекций зависимостей в этом вычислительном движке могло бы не помочь.

Смежные вопросы