Имеет ли тот факт, что Rails имеет подход MVC, означает, что есть инъекция зависимостей?
Или есть причина, по которой мы не говорим об инъекции зависимостей в Rails?
Если у Rails есть инъекция зависимостей, в чем состоит?
Ответ 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
Инъекция зависимостей - это парадигма, поэтому она существует на каждом объектно-ориентированном языке.
Я бы сказал, что вам не нужна такая вещь с рубином... но если вы действительно этого захотите, у некоторых людей обходные пути.
Ответ 5
Я использую этот IoC https://github.com/alexeypetrushin/micon в своей веб-структуре, большую часть времени он остается скрытым и молча разрешает проблемы зависимостей и инициализации компонентов, которые в противном случае это должно быть разрешено вручную.