我知道一些在Scala中使用DI的方法:
- 蛋糕图案
- Macwire什么方法最适合Play的多层应用?
我倾向于在我的应用中使用macwire。
乌利希期刊指南
适合我的解决方案:这个问题的解决方案是利用Macwire lib,但您可以将其与其他方法结合使用,例如纯函数式风格的monads
(如Reader monad)
在我的工作中,我们使用macwire for DI with play,它工作顺利。我们曾经使用cake模式,但我们发现它比macwire方法有更多的样板,编译器错误更难解释,概念更难教授,并且cake经常触发完全重新编译(而我们使用macwire体验到更好的增量重新编译)。不要在这一点上引用我的话,我们的转换发生在2.10 => 2.11之间,我相信从那以后有一些改进。
如果没有更多关于你到底在寻找什么的细节,很难完全回答你的问题。介意详细说明一下吗?