IoC es el gran martillo, pero DI ocurre todos los días en Ruby/Rails. Cuando lo haga:
def initialize(model_klass)
@model_klass = model_klass
end
Esto es DI. Este paradigma también se usa en varios lugares en el código fuente de Rails. Por ejemplo, la gema Railties
es principalmente un motor DI. Puede inyectar su ORM favoriate, varias configuraciones de plugin y generadores.
Dependency Injection tiene un nombre grande y aterrador, pero a lo que se reduce es simplemente desacoplando las dependencias de clase mediante formas de inyectar las dependencias durante el tiempo de ejecución.
No importa el idioma que utilice, siempre que necesite conectar el comportamiento/código en algún lugar, probablemente lo esté usando.
esta es una muy buena pregunta. Aprendí mucho al leer las respuestas – Phil