Подтвердить что ты не робот

Существует ли зависимость зависимостей в Rails?

Имеет ли тот факт, что Rails имеет подход MVC, означает, что есть инъекция зависимостей?

Или есть причина, по которой мы не говорим об инъекции зависимостей в Rails?

Если у Rails есть инъекция зависимостей, в чем состоит?

4b9b3361

Ответ 1

Инъекционная инъекция обычно не нужна Ruby. Jamis Buck подробно рассказывал о причинах. Хорошо стоит прочитать.

Ответ 2

IoC - большой молот, но DI происходит каждый день в Ruby/Rails. Всякий раз, когда вы делаете:

def initialize(model_klass)
  @model_klass = model_klass
end

Это DI. Эта парадигма также используется в разных местах исходного кода Rails. Например, сам камень Railties - это в основном движок DI. Вы можете ввести свой предпочтительный ORM, различные конфигурации плагинов и генераторы.

Injection Dependency имеет большое и страшное имя, но то, что он сводит к минимуму, - это просто развязывать зависимости классов путем ввода зависимостей во время выполнения.

Не важно, какой язык вы используете, если вам нужно подключить поведение/код где-то, вы, вероятно, используете его.

Ответ 3

Инъекция зависимостей - это парадигма, поэтому она существует на каждом объектно-ориентированном языке.

Есть ли рамки DI для Ruby - проверьте этот вопрос

Ответ 4

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

Ответ 5

Я использую этот IoC https://github.com/alexeypetrushin/micon в своей веб-структуре, большую часть времени он остается скрытым и молча разрешает проблемы зависимостей и инициализации компонентов, которые в противном случае это должно быть разрешено вручную.

Вы можете увидеть это в действии здесь http://ruby-lang.info (этот сайт работает с Rad, мой веб-фреймворк https://github.com/alexeypetrushin/rad_core).