在Rails中是否存在dependency injection?
Rails是否具有MVC方法的事实意味着dependency injection?
还是有一个原因,我们不谈论在Rails的dependency injection?
如果Rails确实有dependency injection,它是由什么组成的?
Ruby的dependency injection通常是不必要的。 贾米斯·巴克广泛地讨论了为什么。 值得一读。
IoC是大锤子,但是DI每天都在Ruby / Rails中发生。 每当你这样做:
def initialize(model_klass) @model_klass = model_klass end
这是DI。 Rails源代码中的这个范例也被用在各个地方。 例如, Railties
gem本身主要是一个DI引擎。 你可以注入你喜欢的ORM,各种插件configuration和生成器。
dependency injection有一个大而可怕的名字,但它归结为只是通过在运行时注入依赖关系解耦类依赖关系。
使用什么语言并不重要,只要您需要在某处插入行为/代码,您可能正在使用它。
dependency injection是一个范例,所以它存在于每一种面向对象的语言中。
是否有Ruby的DI框架 – 检查这个问题
我会说,你不需要这样的事情与ruby…但如果你真的想,有些人有解决方法 。
我在我的Web框架中使用这个IoC https://github.com/alexeypetrushin/micon ,大部分时间它保持隐藏状态,静静地解决了依赖和组件初始化问题,否则应该手动解决。
你可以在http://ruby-lang.info (这个网站使用Rad,我的web框架https://github.com/alexeypetrushin/rad_core )在action中看到它。
- 为什么$只在'angular.mock.module'函数中可用,$ q只在'angular.mock.inject'函数中可用?
- cocoa的dependency injection框架?
- 如何解释dependency injection到一个5岁?
- dependency injection和Mocking框架之间的区别(Ninject vs RhinoMock或Moq)
- MEF构造器注入
- dependency injectionVS工厂模式
- 简单的注射器无法注入Web API控制器中的依赖项
- dependency injection(DI)“友好”库
- 如何避免dependency injection构造函数的疯狂?