50


7

Railsには依存性注入がありますか?

RailsにMVCアプローチがあるという事実は、それが依存性注入があることを意味していますか?

または、Railsでの依存性注入について話さない理由はありますか?

  • Railsに依存性注入がある場合、それは何で構成されていますか?*

5 Answer


13


IoCは大きなハンマーですが、DIはRuby / Railsで毎日発生します。 いつでも:

def initialize(model_klass)
  @model_klass = model_klass
end

これはDIです。 このパラダイムは、Railsソースコードのさまざまな場所でも使用されています。 たとえば、「Railties」gem自体はほとんどがDIエンジンです。 優先ORM、さまざまなプラグイン構成、およびジェネレーターを_インジェクト_できます。

依存性注入には大きくて恐ろしい名前がありますが、要するに、実行時に依存性を注入する方法によってクラスの依存性を切り離すだけです。

どこでビヘイビア/コードをプラグインする必要がある限り、使用している言語は関係ありません。


9


依存性注入はパラダイムであるため、すべてのオブジェクト指向言語に存在します。

Ruby用のDIフレームワークがあるかどうか-https://stackoverflow.com/questions/283466/ruby-dependency-injection-librariesを確認してください[この質問]


6


通常、Rubyでは依存性注入は不要です。 Jamis Buck http://weblog.jamisbuck.org/2008/11/9/legos-play-doh-and-programming [広範囲にブログ]理由について。 読む価値があります。


0


私はあなたがルビーでそのようなものを必要としないと言います…​ しかし、本当にしたい場合は、http://passbyvalue.com/2008/09/dependency-injection-for-rails/ [回避策]を持っている人もいます。


0


この動作はhttp://ruby-lang.infoで確認できます(このサイトはRad、私のWebフレームワークhttps://github.com/alexeypetrushin/rad_coreで強化されています)。